Preheat oven to 220°C/425°F. Set a 26cm (10in) cast iron skillet on the stovetop over medium heat. Once the pan is warm, add the cornmeal and toast for 3-5 minutes, stirring frequently, until the cornmeal is very fragrant. Add the toasted cornmeal to a large mixing bowl.
Wipe out the skillet and add the oil. Move the skillet to the oven and heat the oil until shimmering - about 10 minutes. Meanwhile, in a medium mixing bowl, whisk together the sour cream, milk, sugar and eggs. Set aside.
Once the oil is shimmering, remove the skillet from the oven and add the butter, swirling to melt. Once melted, pour all but one tablespoon (see note 3) of the butter and oil mixture into the wet ingredients. Whisk to combine.
To the bowl with the cornmeal, add the flour, baking powder, salt and baking/bi-carb soda. Whisk to combine. Make a well in the centre and pour over the wet ingredients. Mix until just combined.
Scrape the batter into the skillet, smoothing out the top. Move to the oven and bake until puffed, golden and a toothpick inserted into the middle comes out clean - about 20-30 minutes. Allow to cool for 5-10 minutes before serving.
Notes
Outside of the US, cornmeal is often sold as "polenta." Make sure to use regular polenta and not instant polenta if this is the case.
Use the weight measurement of salt rather than the volumetric measure if at all possible. Different brands and styles of salt vary in salinity and 1 teaspoon of the coarse cooking salt I use in Australia may not have the same level of salinity as 1 teaspoon of a different kind of salt in America. However, 5 grams = 5 grams the world over.
It's okay to eyeball one tablespoon rather than measure it out exactly - the remaining oil is just to ensure the crust is crisp and the cornbread releases easily from the pan.