Preheat the oven to 375°F. In a 10-inch cast iron skillet, cook the bacon over medium heat for about 8 minutes until crisp.
Transfer bacon to paper towels to cool, then chop into small pieces.
With the skillet still hot, add the butter to the bacon fat and stir to melt.
Transfer to a bowl and do not clean the skillet.
In the large bowl with the bacon fat and butter, add the creamed corn, buttermilk, eggs, cheddar cheese, parmesan, and chopped bacon.
In a separate large bowl, whisk together the cornmeal, sugar, baking soda, salt and pepper.
Add the dry ingredients to the wet ingredients and mix to combine.
Transfer mixture to the skillet and bake for 30 to 35 minutes or until golden brown and a toothpick comes out with few crumbs.
Allow cornbread to cool in the pan for 10 minutes before slicing and serving.
Serve warm with a pad of soft butter!