Brussels Sprouts Gratin
jump toRECIPE
This Brussels sprouts gratin is the ultimate side dish to win over even the biggest sprout skeptics. The sprouts are first roasted until tender and lightly charred, then baked in a creamy béchamel sauce with crispy pancetta, shallots, and a touch of lemon zest. A bubbling topping of Gruyère and Parmesan adds a golden, cheesy finish that makes this dish irresistibly rich and comforting. Forget the over-boiled Brussels sprouts of the past – this gratin proves they can be decadent, flavorful, and holiday-worthy. Craving more dishes like this? My fried kimchi Brussels sprouts and balsamic sriracha roasted Brussels sprouts recipes are right up your alley.

Why You’ll Love Brussels Sprouts Gratin
- Roasted for maximum flavor. Roasting the Brussels sprouts first ensures they’re tender with caramelized edges before baking in the creamy sauce.
- Rich and cheesy comfort. A silky béchamel combined with Gruyère and Parmesan creates a decadent, golden topping.
- Perfect for holidays. Elegant yet simple, this dish is an ideal addition to Thanksgiving, Christmas, or any special gathering.
Key Ingredients in This Recipe
- Brussels sprouts – Look for tight heats of Brussels sprouts with 1-2″ in diameter. Remove any yellowing leaves from the outside of the sprouts. I cut them in half before roasting them so the cut side caramelizes slightly. The Brussels sprouts are first roasted before they are added to the béchamel sauce and topped with cheese. I always recommend roasting Brussels sprouts a little longer than you think you need to – they should look slightly caramelized on the bottom.
- Gruyère – Gruyère is a hard cheese with a nutty, sweet flavor from Switzerland. The fact that it melts well (due to a high water to oil ratio) mixed with t’s distinct flavor makes it the perfect addition to anything from sandwiches to mac and cheese or fondue. If you can’t find Gruyère, I recommend substituting with another Swiss cheese like Emmental.
- Parmesan – Parmesan-Reggiano is definitely one of my favorite cheeses. It’s a hard cow’s milk cheese aged for different lengths of time. I’d recommend buying a roughly cut piece of wrapped cheese from the grocery store – it’s typically a higher quality cheese.
A full ingredient list with exact amounts can be found in the recipe card below.

How to Make this Recipe in Advance
Assemble the gratin in advance then cover and refrigerate or freeze until ready to serve. Cook as directed below.
To Make This Recipe Dairy Free
Hard cheeses like Gruyère and Emmentaler as well as Parmesan don’t contain any lactose. It’s actually broken down in the production process so those who have a lactose intolerance can eat those cheeses. To make the recipe dairy free, substitute with a lactose free milk or non-dairy alternative.
Swaps and Substitutions
- Try swapping the pancetta with diced bacon if needed.
- A gratin like this is great with a hearty green like kale or collard greens. Simply sauté and use in place of the Brussels sprouts in this recipe.
How to Make This Brussels Sprout Gratin Recipe (Step-by-step)

Preheat oven to 400ºF (200ºC). Cut the Brussels in half then toss in olive oil, salt and pepper and spread in an even layer, cut side down on an aluminum foil-lined baking sheet. Roast until the Brussels sprouts are soft on the inside and lightly browned, about 20 minutes.

In a medium saucepan over medium heat, cook pancetta until fat has rendered and it is crispy, about 10 minutes. Remove with a slotted spoon to a small bowl, reserving as much fat as possible in the pan.

Add the butter and melt. Add the shallots and sauté until tender, about 6 minutes.

Add the flour, whisking to combine. Let the roux cook for a minute until a pale golden brown. Add the milk and thyme, whisking to incorporate.

Bring the mixture to a boil then lower the heat to medium-low. Cook, whisking occasionally, until the sauce coats the back of a spoon, about 10 minutes. Season with salt and discard thyme sprig. Remove the béchamel sauce from heat and set aside.

In a large bowl stir together the Brussels sprouts, pancetta, béchamel and lemon zest until combined. Pour the mixture into an 8-inch cast iron baking dish. Lower oven to 375ºF (190ºC).

Top with the Gruyère and Parmesan cheese and bake until the mixture is browned and bubbling, about 30 minutes. Let cool slightly and serve.
FAQ – Frequently Asked Questions
Yes! Assemble the gratin in advance then cover and refrigerate or freeze until ready to serve. Cook as directed below.
Yes! Hard cheeses like Gruyère and Emmentaler as well as Parmesan don’t contain any lactose. It’s actually broken down in the production process so those who have a lactose intolerance can eat those cheeses. To make the recipe dairy free, substitute with a lactose free milk or non-dairy alternative.
Gruyère adds a nutty richness and Parmesan gives a sharp, salty kick. If you don’t have Gruyère, Swiss, Fontina, or sharp white cheddar are great substitutes.
Absolutely. Leave it out for a vegetarian version, or substitute with crispy bacon if you prefer.
Reheat in a 350°F (180ºC) oven until warmed through and bubbly, about 15–20 minutes. Avoid the microwave if possible, since it can make the sauce separate.
Fresh Brussels sprouts give the best texture, but you can use frozen if needed. Be sure to thaw and pat them dry well to prevent excess water from thinning the sauce.
Other Recipes to Try
If you enjoy this Brussels sprouts gratin recipe, I recommend checking out some of these
- Balsamic Sriracha Roasted Brussels Sprouts
- Crispy Brussels Sprouts with Bacon Dashi Broth
- Roasted Balsamic Brussels Sprouts with Bacon
Tried it? Loved it? Tweaked it? Leave a review below and tell me how it went – I’m all ears (and always hungry).
Brussels Sprouts Gratin
Rate this RecipeIngredients:
- 1 pound Brussels sprouts, washed and trimmed
- 3 tablespoons extra-virgin olive oil
- kosher salt, as needed
- ground black pepper, to taste
- ½ cup diced pancetta
- 3 tablespoons unsalted butter
- ¼ cup diced shallots
- 2 tablespoons all-purpose flour
- 1 cup whole milk
- 1 sprig thyme
- 1 teaspoon lemon zest
- ¼ cup shredded Gruyère cheese
- ¼ cup grated Parmesan cheese
Instructions:
- Preheat oven to 400ºF (200ºC). Cut the Brussels in half then toss in olive oil, salt and pepper and spread in an even layer, cut side down on an aluminum foil-lined baking sheet. Roast until the Brussels sprouts are soft on the inside and lightly browned, about 20 minutes.
- In a medium saucepan over medium heat, cook pancetta until fat has rendered and it is crispy, about 10 minutes. Remove with a slotted spoon to a small bowl, reserving as much fat as possible in the pan.
- Add the butter and melt. Add the shallots and sauté until tender, about 6 minutes.
- Add the flour, whisking to combine. Let the roux cook for a minute until a pale golden brown. Add the milk and thyme, whisking to incorporate.
- Bring the mixture to a boil then lower the heat to medium-low. Cook, whisking occasionally, until the sauce coats the back of a spoon, about 10 minutes. Season with salt and discard thyme sprig. Remove the béchamel sauce from heat and set aside.
- In a large bowl stir together the Brussels sprouts, pancetta, béchamel and lemon zest until combined. Pour the mixture into an 8-inch cast iron baking dish. Lower oven to 375ºF (190ºC).
- Top with the Gruyère and Parmesan cheese and bake until the mixture is browned and bubbling, about 30 minutes.
Nutrition:
TAG ME ON INSTAGRAM TO BE FEATURED ON MY STORIES! @cookingwithcocktailrings





Rate + Review
WHAT DID YOU THINK OF THIS RECIPE?