Put the milk into a large saucepan with the onion, clove, bay leaf, and a pinch of salt. Bring it to a simmer then take off the heat and leave to infuse for 15 minutes before straining.
Preheat the oven to 200C/180C fan. Put the cauliflower into an oven tray and drizzle with the oil. Season with salt and pepper and toss until well covered in the oil. Roast for 20 minutes until soft and starting to brown.
Bring a large pot of salted water to a boil. Add the cauliflower florets and cook for 5 minutes until just soft then drain well to remove as much water as possible. Transfer the cauliflower to an oven dish that holds it snugly, then tip over the melted butter and toss the cauliflower around until it’s well covered. Season with salt and put to one side.
Preheat the grill. Melt the butter in a large saucepan. Add the flour and whisk to a paste then gradually whisk in the infused milk. Cook for 5 minutes or so, stirring often, until the sauce has thickened. Add in a few grates of nutmeg and the Gruyere cheese, then stir until melted. Pour over the roasted cauliflower then top with the parmesan and breadcrumbs. Grill until bubbling and golden brown, then serve. Or cover with foil and reheat just before serving.