Heat your oven to 200°C/Fan 180°C/Gas 6. Halve the cabbage. Slice one half into thick wedges. Give them a good rinse. Trim the leek and rinse it. Slice it into 3 cm long lengths. Peel the carrots. Quarter them. Pop all the veg in a roasting tin so they fit snugly. Drizzle with a little oil. Season. Roast for 15 mins till it starts to brown.
Set aside 1 tbsp of the flour for the gravy. Sift the rest of the flour into a bowl and make a well in the centre. Break the egg into the flour and whisk together. Gradually add 300ml of the milk, whisking till the batter is smooth. Season.
Rinse the rosemary sprigs. Snap them into smaller lengths, around 3 cm long. Peel and thinly slice the shallots.
Peel the apples. Slice out the cores. Cut them into 6-8 wedges each. Tuck the apple wedges in among the veg with half the rosemary. Pour in the batter. Bake for 20-25 mins till risen and crisp.
Melt half the butter in a pan. Add the shallots and a pinch of salt. Cook and stir for 6-8 mins till golden brown. Fill the kettle and boil it. Break the broccoli into small florets.
Stir the reserved 1 tbsp flour in to the shallots. Crumble in the stock cube. Gradually blend in 400ml hot water from the kettle. Add the rest of the rosemary and season. Simmer 10 mins till thick. Stir every so often. Lift out the woody rosemary sprigs.
Fill a pan with hot water from the kettle. Add the broccoli and a pinch of salt. Simmer, uncovered, for 3-4 mins till tender. Drain the broccoli. Toss with the rest of the butter. Serve the Winter-Veg-in-a-Hole with broccoli and the shallot gravy.