Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 large cauliflower (about 2 lb / 900 g), cut into bite-size florets
- 2 tsp kosher salt, divided (plus water for boiling)
- 4 tbsp unsalted butter
- 4 garlic cloves, minced
- 3 tbsp all-purpose flour
- 2 cups whole milk
- 1/2 cup heavy cream
- 1 tsp Dijon mustard
- 1/8 tsp ground nutmeg
- 1/4 tsp black pepper
- 1 1/2 cups (6 oz) shredded sharp cheddar
- 1 cup (4 oz) shredded Gruyère
- 1/2 cup (1.5 oz) finely grated Parmesan, divided
- 1/2 cup panko breadcrumbs
- 1 tbsp melted butter (for topping)
- 2 tbsp chopped fresh parsley (optional garnish)
Do This
- 1. Heat oven to 425°F (220°C); butter a 2-quart baking dish.
- 2. Boil cauliflower in salted water for 5 minutes; drain very well.
- 3. Make garlic roux: melt 4 tbsp butter, cook garlic 30 seconds, whisk in flour and cook 1 minute.
- 4. Whisk in milk; simmer 4 minutes until thick. Stir in cream, mustard, nutmeg, pepper, and salt.
- 5. Off heat, melt in cheddar, Gruyère, and 1/4 cup Parmesan. Toss sauce with cauliflower; pour into dish.
- 6. Top with panko + remaining Parmesan + melted butter; bake 22 minutes, broil 2 minutes to brown. Rest 10 minutes, garnish with parsley.
Why You’ll Love This Recipe
- Comfort-food cozy: tender cauliflower under a creamy garlic cheese sauce with a browned, bubbly top.
- Easy technique: a simple roux-based sauce that turns out smooth and thick (no mystery ingredients).
- Picky-eater friendly: mild cauliflower flavor, lots of cheesy goodness, and a crispy topping.
- Great for holidays or weeknights: fancy enough for company, straightforward enough for Tuesday.
Grocery List
- Produce: 1 large cauliflower, 4 garlic cloves, fresh parsley (optional)
- Dairy: unsalted butter, whole milk, heavy cream, sharp cheddar, Gruyère, Parmesan
- Pantry: all-purpose flour, Dijon mustard, panko breadcrumbs, kosher salt, black pepper, ground nutmeg
Full Ingredients
Cauliflower
- 1 large cauliflower (about 2 lb / 900 g), cut into bite-size florets (about 6–7 cups florets)
- 1 1/2 tsp kosher salt (for the boiling water)
Garlic Cheese Sauce
- 4 tbsp (56 g) unsalted butter
- 4 garlic cloves, minced (about 1 1/2 tbsp)
- 3 tbsp (24 g) all-purpose flour
- 2 cups (480 ml) whole milk
- 1/2 cup (120 ml) heavy cream
- 1 tsp Dijon mustard
- 1/8 tsp ground nutmeg
- 1/4 tsp freshly ground black pepper
- 1/2 tsp kosher salt (for seasoning the sauce)
- 1 1/2 cups (6 oz / 170 g) shredded sharp cheddar cheese
- 1 cup (4 oz / 115 g) shredded Gruyère cheese
- 1/2 cup (1.5 oz / 45 g) finely grated Parmesan cheese, divided
Crispy Topping & Finish
- 1/2 cup (25 g) panko breadcrumbs
- 1 tbsp (14 g) unsalted butter, melted
- 2 tbsp chopped fresh parsley (optional, for serving)

Step-by-Step Instructions
Step 1: Heat the oven and prep the baking dish
Arrange a rack in the upper third of the oven. Preheat to 425°F (220°C). Butter a 2-quart baking dish (an 8×8-inch square dish works well, or any similar-size gratin dish). Set it near the stove so it’s ready when the sauce is done.
Step 2: Blanch the cauliflower (tender, not mushy)
Bring a large pot of water to a boil. Add 1 1/2 tsp kosher salt, then carefully add the cauliflower florets.
Boil for exactly 5 minutes. Drain in a colander and let it sit for 2 minutes to steam off excess water. (This helps prevent a watery gratin.)
Step 3: Start the garlic roux
In a medium saucepan over medium heat, melt 4 tbsp butter. Add the minced garlic and cook for 30 seconds, stirring constantly, just until fragrant (don’t let it brown).
Whisk in the 3 tbsp flour and cook for 1 minute, whisking the whole time. This cooks out the raw flour taste and sets you up for a smooth sauce.
Step 4: Whisk into a thick, creamy sauce
While whisking, slowly pour in the 2 cups milk. Keep whisking until the mixture is smooth.
Bring to a gentle simmer and cook for exactly 4 minutes, whisking often, until the sauce thickens enough to lightly coat the back of a spoon.
Whisk in the 1/2 cup heavy cream, 1 tsp Dijon mustard, 1/8 tsp nutmeg, 1/4 tsp black pepper, and 1/2 tsp kosher salt.
Step 5: Melt in the cheese and coat the cauliflower
Turn the heat to low. Add the cheddar, Gruyère, and 1/4 cup of the Parmesan. Stir until fully melted and silky-smooth.
Add the drained cauliflower to the sauce and gently fold until every floret is coated. Pour the mixture into the prepared baking dish and spread it into an even layer.
Step 6: Add the crispy topping
In a small bowl, mix the panko with the remaining 1/4 cup Parmesan and the 1 tbsp melted butter.
Sprinkle the topping evenly over the gratin.
Step 7: Bake until bubbling and browned
Bake at 425°F (220°C) for exactly 22 minutes, until the edges are bubbling.
Switch the oven to broil (high) and broil for exactly 2 minutes, watching closely, until the top is deeply golden with a few darker toasted spots.
Step 8: Rest, garnish, and serve
Let the gratin rest for 10 minutes before serving. This helps the sauce thicken slightly so it scoops nicely.
If you like, sprinkle with 2 tbsp chopped parsley right before serving for a fresh finish.
Pro Tips
- Drain the cauliflower well: After blanching, let it steam-dry in the colander for a couple minutes so the sauce stays thick and creamy.
- Shred your own cheese if possible: Pre-shredded cheese often contains anti-caking agents that can make sauces slightly grainy.
- Broil at the end for perfect browning: That quick 2-minute broil gives you a crisp, toasty top without overcooking the cauliflower.
- Keep the sauce at a gentle simmer: Boiling hard can make dairy sauces behave unpredictably. Gentle heat = smoother texture.
- Taste before baking: Dip a floret in the sauce and taste for salt and pepper; adjust now for the best final flavor.
Variations
- Extra-garlicky: Add 1 additional garlic clove (total 5 cloves) and whisk 1/4 tsp garlic powder into the sauce with the spices.
- Add a little heat: Stir 1/8 tsp cayenne into the sauce, or add 1 tsp hot sauce with the Dijon.
- Make it a meal: Fold in 2 cups shredded rotisserie chicken or 8 oz cooked, crumbled bacon before baking (you may want an extra pinch of salt).
Storage & Make-Ahead
Refrigerate: Cool completely, then cover and refrigerate for up to 4 days.
Reheat: For the best texture, reheat (covered) in a 350°F (175°C) oven for 20 minutes, then uncover for 5 minutes to re-crisp the top. Microwave reheating works, but the topping will soften.
Make-ahead option: Assemble the entire gratin (including topping) in the baking dish, cover tightly, and refrigerate for up to 24 hours. Bake straight from the fridge at 425°F (220°C) for 28 minutes, then broil for 2 minutes (the extra time accounts for the cold dish).
Nutrition (per serving)
Approximate, based on 6 servings: 320 calories, 23 g fat, 15 g carbohydrates, 4 g fiber, 16 g protein, 520 mg sodium.
