Heat the oven to 220C (200C fan)/gas 7. Arrange the tomatoes in a small baking dish and pierce each one with the tip of a knife. Add the rosemary and garlic, then pour over the oil and season generously, mixing with your hands so that the oil coats the tomatoes.
Roast in the bottom of the oven for 35-40 minutes, checking every so often and to push the tomatoes gently into the oil, until golden and fragrant.
Meanwhile, put the sweetcorn and 75g of the parmesan in a food processor and blitz until coarsely chopped. Transfer to a bowl and stir in the milk, yoghurt and eggs.
In a separate bowl, combine the dry ingredients, then stir this mixture into the sweetcorn with the melted butter and plenty of pepper. Heat the pan until smoking hot, then add the extra knob of butter, swirling it around the pan until it sizzles.
Pour in the cornbread batter, smooth the top and scatter over the remaining parmesan. Bake above the tomatoes for 25-30 minutes.
Once a skewer inserted into the cornbread comes out clean, remove from the oven and leave to rest for five to 10 minutes. Take the tomatoes out of the oven, mash the garlic into the tomato juices with a fork and stir gently.
Turn out the cornbread, cut it into wedges and serve with the warm garlicky tomatoes on top.