Cauliflower Gratin

baked cauliflower gratin in 8-inch square baking dish

This post may contain affiliate links. Read my full disclosure policy.

This cauliflower gratin recipe turns a simple head of cauliflower into a rich, cheesy side with a crisp, golden topping.

baked cauliflower in square baking dish

Cauliflower gratin, also known as cauliflower au gratin, is a classic French dish of cauliflower baked in a creamy cheese sauce with a crisp, golden breadcrumb topping. It was one of the very first dishes I tried when I studied abroad in France many eons ago. My host mother served it with a simple roast chicken, and that meal sparked my lifelong love of French food (and, really, my entire culinary career).

This cauliflower gratin recipe can be assembled a day ahead and baked just before serving, making it a great option for holidays and entertaining. Pair it with Thanksgiving turkey, glazed pork tenderloin, or roast beef tenderloin for a special occiasion—or serve it with roast chicken for a cozy family dinner. It also makes a satisfying vegetarian main with a crisp green salad and some crusty bread.

“Absolutely amazing!”

Melanie

What You’ll Need To Make Cauliflower Gratin

cauliflower gratin ingredients
  • Cauliflower: Cut into florets and cooked just until tender before baking, the cauliflower keeps its shape and texture while soaking up all that rich, cheesy sauce.
  • Butter, flour & milk: These form the base of classic béchamel sauce that gives the gratin its rich, creamy texture.
  • Salt, pepper & nutmeg: Simple seasonings that bring the sauce to life. Nutmeg adds a subtle warmth that pairs nicely with the cheese.
  • Gruyère & Pecorino Romano: The cheeses that make the dish irresistibly rich and flavorful. Gruyère melts into a gooey, slightly nutty layer, while Pecorino adds a salty, sharp finish. (Parmigiano Reggiano can be substituted for the Pecorino, but it doesn’t have quite as much flavor.)
  • Jump to the printable recipe for precise measurements

Step-By-Step Instructions

Parboil the cauliflower: Cook the florets just until very al dente; they should still have some bite since they’ll continue cooking in the oven. Drain them very well. Cauliflower holds onto a surprising amount of water, so I like to spread the florets on a clean dish towel for a few minutes to wick away any excess moisture. This helps keep the gratin from turning watery.

Make the sauce: Melt the butter, whisk in the flour, and cook briefly until the mixture is bubbling but still pale. Gradually whisk in the warm milk, then simmer until the sauce is smooth and thick enough to coat the back of a spoon. Warming the milk helps it blend smoothly into the roux and makes lumps less likely. Whisk in the salt, pepper, nutmeg, and cheeses until the cheese is melted and the sauce is silky and smooth.

Assemble the gratin: Spread some of the sauce over the bottom of the baking dish, arrange the cauliflower on top, then spoon the remaining sauce over the florets. Finish with the remaining Gruyère. Putting sauce underneath as well as on top keeps the cauliflower coated and creamy throughout.

Make the topping: Toss the panko with the olive oil, Pecorino, thyme, salt, and pepper, then sprinkle it evenly over the gratin. Coating the breadcrumbs with oil helps them bake up crisp and golden.

Bake and serve: Bake until the breadcrumb topping is deeply golden and the sauce is bubbling around the edges. Let the gratin rest for at least 10 minutes before serving so the sauce has a chance to settle and thicken slightly.

baked cauliflower gratin with serving spoon inserted into it

More Creamy, Cheesy Vegetable Side dishes You’ll Love

Print

Cauliflower Gratin

baked cauliflower in square baking dish
With its rich sauce and crispy topping, this cauliflower gratin turns humble cauliflower into a delicious, crowd-pleasing side.
Servings: 6
Prep Time: 25 minutes
Cook Time: 24 minutes
Total Time: 55 minutes

Ingredients 

  • 1 medium head cauliflower (about 2½ lbs/1.1kg), cut into medium florets
  • 3 tablespoons unsalted butter
  • ¼ cup all-purpose flour
  • 2 cups whole milk, warmed (see note)
  • Salt
  • Freshly ground black pepper
  • Pinch of ground nutmeg
  • 1 cup shredded Gruyère, divided
  • ¼ cup grated Pecorino Romano, divided
  • ½ cup panko breadcrumbs
  • 1 tablespoon extra-virgin olive oil
  • 2 teaspoons fresh thyme (or ¾ teaspoon dried)

Instructions

  • Preheat the oven to 400°F (205°C) and set an oven rack in the middle position.
  • Bring a large pot of well-salted water to a boil—it should taste like the sea. Add the cauliflower and cook for 5 minutes; it should be very al dente at this point, since it will continue cooking in the oven. Drain well and set aside.
  • Melt the butter in a medium saucepan over medium heat. Whisk in the flour and cook for 1 to 2 minutes, until bubbling but not browned. Gradually whisk in the warm milk. Bring the mixture to a gentle boil, whisking often and occasionally running a flat whisk or rubber spatula around the edges of the pan to keep the sauce smooth. Reduce the heat and simmer, whisking frequently, until thick enough to coat the back of a spoon, 3 to 5 minutes. Add 1 teaspoon salt, ¼ teaspoon pepper, the nutmeg, ½ cup (60 g) of the Gruyère, and 2 tablespoons of the Pecorino Romano (or Parmigiano Reggiano); whisk until smooth.
  • Spread about one-third of the sauce over the bottom of a 2-qt or 8-in (2-L or 20-cm) square baking dish. Arrange the par-cooked cauliflower evenly on top, then spoon the remaining sauce over the florets. Sprinkle with the remaining ½ cup Gruyère.
  • In a small bowl, toss the panko with the olive oil, the remaining 2 tablespoons Pecorino Romano (or Parmigiano Reggiano), the thyme, and a pinch of salt and pepper. Sprinkle evenly over the top of the cauliflower.
  • Bake, uncovered, for 25 to 30 minutes, until the topping is golden brown and the sauce is bubbling around the edges. Let cool for at least 10 minutes before serving to allow it to set up.

Notes

  • Warming the milk helps the sauce blend smoothly and prevents lumps. You don’t want it hot—just pleasantly warm to the touch (100 to 110°F/38° to 43°C), like bathwater. Microwave it for 1 minute or warm it gently in a small saucepan.
  • For the best flavor, use good-quality, well-aged cheeses. A true Gruyère AOP (aged 9–12 months) has a rich, nutty taste that really comes through in the gratin, while Pecorino Romano adds a salty, savory kick. Imitation cheeses won’t deliver the same depth of flavor.
  • Make-Ahead Instructions: The gratin can be fully assembled up to 1 day ahead but should not be baked. Cover tightly and refrigerate. When ready to bake, let it sit at room temperature for 20 to 30 minutes to take the chill off, then bake as directed, adding a few extra minutes if needed to ensure it’s heated through and the top is golden.

Nutrition Information

Calories: 301kcalCarbohydrates: 21gProtein: 14gFat: 15gSaturated Fat: 10gCholesterol: 49mgSodium: 695mgFiber: 4gSugar: 8g

This website is written and produced for informational purposes only. I am not a certified nutritionist and the nutritional data on this site has not been evaluated or approved by a nutritionist or the Food and Drug Administration. Nutritional information is offered as a courtesy and should not be construed as a guarantee. The data is calculated through an online nutritional calculator, Edamam.com. Although I do my best to provide accurate nutritional information, these figures should be considered estimates only. Varying factors such as product types or brands purchased, natural fluctuations in fresh produce, and the way ingredients are processed change the effective nutritional information in any given recipe. Furthermore, different online calculators provide different results depending on their own nutrition fact sources and algorithms. To obtain the most accurate nutritional information in a given recipe, you should calculate the nutritional information with the actual ingredients used in your recipe, using your preferred nutrition calculator.

4.80 from 20 votes

Add a Comment

Rate the recipe: 5 stars means you loved it, 1 star means you really disliked it




This site uses Akismet to reduce spam. Learn how your comment data is processed.

35 Comments

  • 5 stars
    Family dinner winner! So easy and good for you. I opted to steam the cauliflower but may need to add more salt to sauce to offset not parboiling in salted water. Thank you for another amazing recipe!

    • — Lulu on November 6, 2025
    • Reply
  • 5 stars
    Absolutely amazing! Got to use my freshly grown thyme!
    Thank you for all your wonderful recipes, I can’t even count how many I’ve made .
    My daughter now follows you and loves everything too.

    • — Melanie on November 6, 2025
    • Reply
  • 5 stars
    Wow! My husband’s favorite vegetable is cauliflower and so I was eager to try this recipe when I saw it. I made it last night alongside your recipe for Pork Tenderloin with Mustard Glaze (another family favorite). I daresay, the cauliflower stole the spot light! I am only disappointed this recipe did not come into my life earlier. I greedily devoured the leftovers for lunch today. Thanks for another great recipe!

    • — Nicole on November 5, 2025
    • Reply
  • 1 star
    This is the first recipe of the many I’ve tried from your website that I didn’t like, and I’m a French food lover. This concoction seemed heavy and bland. My husband, a good cook himself, called it mediocre. Such a surprise. Overall I love your recipes and have told many others about your genius, but to me this recipe is definitely a miss.

    • — Wendy on November 4, 2025
    • Reply
  • 5 stars
    Wow excellent. Company worthy. I can see how this is a great base that you can expand on. I.e. add half broccoli and half cauliflower, etc. Delicious. Thank you. Your recipes are incredibly reliable which I appreciate.

    • — SLRG on November 2, 2025
    • Reply
  • 5 stars
    We making your cauliflower gratin is it OK to use pre-graded Parmesan cheese such as Costco‘s in the recipe? Thank you for all of your wonderful recipes!

    • — Carrie Grabe on November 2, 2025
    • Reply
    • Hi Carrie, Yes that’s perfectly fine but for best results use pre-grated Parmigiano Reggiano (rather than domestic Parmesan).

  • 5 stars
    Wow! The sauce is…magical, and thank goodness because it is the one thing that makes boiling farty smelling cauliflower worth it! The panko topping with thyme and pecorino Romano took it over the edge. You always seem to send recipes that include ingredients I just purchased 🙂 Thank you, Jenn, and thank you France!

    • — Joanna Strycharz on November 2, 2025
    • Reply
    • 5 stars
      Joanna, your first sentence made me laugh so hard that I cried! Thank you for your review…and for the chuckle! 🤣

      • — Norma Krahe on November 2, 2025
      • Reply
  • 5 stars
    Hi Jenn,
    I have tried and loved so many of your recipes and served many of them to company as well as my family. The most recent being Peruvian chicken… loved by all!
    Would it be ok to steam the cauliflower rather than boiling?
    Thanks so much!

    • — Nancy on November 2, 2025
    • Reply
  • 5 stars
    As usual, Jenn, your recipe is spot on! One big change: I use broccoli instead of cauliflower because my dog loves parboiled broccoli stems, so I’m “gifted” with a plethora of broccoli florets (she does not like the florets). I parboil the florets for 30 seconds, drain and lightly squeeze out any water to keep it reasonably crispy after baking. A thin layer of caramelized onions is a great addition. Genius recipe. The dog would like florets cooked this way, but we’ll stick with the healthy, semi-raw option for her LOL.

    • — Tad Gage on November 2, 2025
    • Reply
  • I have a question with regard to the Nutrition Information. It says 695 mg of sodium. However, your recipe just says “Salt” with no amount listed. So is the sodium amount listed just based on all the other ingredients before I add salt or is it guessing on an approximate amount of additional salt that I might add? Thank you.

    • — Melanie on November 2, 2025
    • Reply
    • Hi Melanie, The amount of salt is specified in the recipe instructions since it’s used twice – once in the boiling water and then again in the sauce.