Start by bringing a large pot of salted water to a boil. Add the cauliflower florets and cook for about 5 to 6 minutes until just tender but not mushy. I always make sure not to overcook them because they’ll continue baking in the oven. Drain well and set aside to remove excess moisture.
In a saucepan, melt the butter over medium heat and stir in the flour to create a roux. Cook it for about two minutes, stirring constantly so it doesn’t brown. Slowly whisk in the hot milk and continue whisking until the sauce thickens and becomes smooth. Add salt, pepper, and nutmeg, then stir in the Gruyère and Parmesan until melted and creamy.
Preheat your oven to 375°F (190°C). Spread the drained cauliflower evenly in your baking dish, then pour the cheese sauce over it, making sure every floret is coated. I like to gently stir it once to distribute the sauce evenly. Sprinkle the remaining Gruyère and breadcrumbs evenly over the top.
Place the dish in the oven and bake for 25 to 30 minutes until the top is golden brown and bubbly. If you want extra browning, you can broil it for 2 to 3 minutes at the end. Let it sit for about 5 minutes before serving so the sauce settles perfectly.