Begin by preheating your oven to 400°F (200°C). Trim and discard any thick, woody stalks from 1 head of cauliflower (about 1lb/500g) and 1 head of broccoli (about 1lb/500g). Break both heads into large florets and cut off the thin, tender stalks, reserving these for cooking.
Bring a saucepan of salted water to a boil and add the cauliflower florets along with all reserved stalks. After returning to a boil, cook for 2 minutes, then add the broccoli florets and continue boiling for another 2 minutes until the vegetables are just cooked but still firm to the bite.
Drain the vegetables thoroughly under cold running water, then spread them out in a buttered, shallow ovenproof dish with the florets facing upward.
While the vegetables cook, prepare the cheese sauce by melting 4 tbsp butter in a saucepan over medium heat. Sprinkle in ½ cup all-purpose flour and cook, stirring constantly, for 1 minute to create a roux.
Remove from heat and gradually blend in 2½ cups milk, stirring to avoid lumps. Return to heat and bring to a boil, stirring constantly until the sauce thickens.
Simmer for 2–3 minutes, then remove from heat and stir in 2oz (60g) Parmesan cheese and 2oz (60g) aged Cheddar cheese. Add 2 tsp Dijon mustard and season with salt and black pepper to taste.
Pour the cheese sauce evenly over the prepared vegetables and sprinkle the top with an additional 2oz (60g) aged Cheddar cheese.
Bake for 20 minutes or until the surface is golden and bubbling. Remove from the oven and serve hot for the best flavor and texture.