Golden and bubbling straight from the oven, this broccoli casserole brings together soft florets, a rich homemade béchamel, and layers of gooey mozzarella and sharp Parmesan. Whether it’s the centerpiece of a cozy vegetarian meal or a standout side at your next gathering, this recipe offers comfort in every cheesy, creamy bite.

Ingredient Breakdown
Fresh broccoli is the star here, and choosing a tight, bright green head ensures a vibrant and tender result. Cutting the florets into evenly sized pieces helps them cook uniformly, while blanching locks in color and crunch. The depth of flavor begins with gently sautéed onion and garlic, building a savory base that complements the sauce without overwhelming the delicate broccoli.
The béchamel is made from a classic trio—butter, pastry flour, and milk—gently cooked to produce a creamy, lump-free foundation. Using whole milk lends richness, and whisking steadily is the key to a velvety texture. A touch of nutmeg adds a subtle, warm note, while salt and pepper round out the savory layers.
To crown it all, thin slices of mozzarella melt into a stretchy, luscious layer, while Parmesan offers a salty, golden finish. Together, they create a topping that’s both indulgent and balanced.
Step-by-Step Preparation Guide
Start by prepping the broccoli—wash it well, then trim into bite-sized florets. A quick blanch in salted boiling water for just 2–3 minutes ensures it stays firm and vivid. Drain and set it aside to cool while you build the sauce.
In a saucepan over low heat, melt the butter and stir in the finely chopped onion and garlic. Cook gently until soft and fragrant, ensuring they don’t brown. Sprinkle in the flour and stir continuously, cooking for a minute to create a roux. Slowly add the milk, whisking all the while to keep the mixture smooth. Let it simmer until thickened and season generously with salt, black pepper, and a hint of nutmeg.
Preheat your oven to 350°F and grease a medium baking dish. Arrange the blanched broccoli evenly at the bottom, then pour the hot béchamel sauce on top, allowing it to seep into every crevice. Layer the mozzarella slices over the sauce, followed by a generous sprinkling of grated Parmesan.
Bake for 25 to 30 minutes until the top is golden and bubbling. For extra color and crunch, broil for 2–3 minutes just before serving.

Recipe Tips
Don’t overcook broccoli before baking—it should stay slightly crisp.
Sauté onion and garlic gently to avoid browning or bitterness.
Use warm milk to prevent curdling when added to the roux.
Add extra cheese between layers for a richer bite.
For a crispier topping, broil the casserole for the last 2–3 minutes.
What to Serve With This Recipe
For a well-balanced plate, pair this casserole with roasted or grilled proteins like lemon herb chicken, baked salmon, or smoked sausages. Grain-based sides such as brown rice, barley, or herbed couscous help soak up the creamy sauce. To contrast the richness, serve with a fresh salad tossed in a citrus vinaigrette or a small bowl of quick-pickled vegetables. On the table, offer crusty sourdough, buttery brioche rolls, or garlic flatbread to scoop up every last bit.
Creative Variations
This recipe is easy to adapt based on what’s on hand. Swap broccoli with cauliflower or add sautéed mushrooms for earthy depth. To transform it into a main course, mix in cooked pasta, or stir in shredded rotisserie chicken, ham, or crisp pancetta. Spice-lovers can toss in a pinch of chili flakes or cayenne. For added crunch, sprinkle the top with crushed crackers, buttery breadcrumbs, or herbed panko.
Frequently Asked Questions
Can I make this casserole ahead of time?
Yes, assemble it up to a day in advance and refrigerate until ready to bake.
Is it freezer-friendly after baking?
It freezes well once fully cooled—wrap tightly and freeze for up to 2 months.
Can I use non-dairy milk and cheese for a vegan version?
Yes, plant-based milk and cheese alternatives work, though texture and flavor may vary.
What’s the best substitute for pastry flour?
All-purpose flour is a suitable replacement in equal measure.
How do I prevent the sauce from turning too thick after baking?
Keep the sauce slightly loose before baking; it will thicken in the oven.
This broccoli casserole delivers creamy, cheesy satisfaction in every spoonful. With its comforting layers, crisp-tender vegetables, and rich flavor, it’s a go-to for simple family dinners, potluck spreads, or a meatless main that doesn’t compromise on taste.

Ingredients
1 head broccoli
1 onion, peeled and finely chopped
1 garlic clove, minced
2 tablespoons butter
1¾ ounces pastry flour
8 ounces milk
Salt, to taste
Ground pepper, to taste
1 pinch ground nutmeg
4 ounces mozzarella cheese, thinly sliced
3 tablespoons grated Parmesan cheese
Instructions
Begin by rinsing the broccoli thoroughly and dividing it into small florets. Bring a large pot of salted water to a boil, and blanch the broccoli for 2–3 minutes until just tender but still vibrant and firm. Drain and set aside.
Peel and finely chop the onion and garlic. In a medium saucepan, melt the butter over low heat. Add the onion and garlic and sauté gently until softened and translucent.
Stir in the flour and cook for 1 minute, stirring constantly to form a roux. Slowly pour in the milk, whisking continuously to prevent lumps. Let the sauce simmer gently for about 5 minutes, stirring often, until it thickens to a creamy consistency. Season generously with salt, freshly ground black pepper, and a pinch of nutmeg.
Preheat the oven to 350°F (175°C). Transfer the blanched broccoli into a greased baking dish. Pour the warm béchamel sauce evenly over the broccoli.
Arrange the mozzarella slices on top, covering the surface. Finish by sprinkling the grated Parmesan over the mozzarella.
Bake the casserole in the preheated oven for 25 to 30 minutes, or until the top is golden brown and bubbling. Serve hot, straight from the oven.

Broccoli Casserole Recipe
Ingredients
- 1 head broccoli
- 1 onion peeled and finely chopped
- 1 garlic clove minced
- 2 tablespoons butter
- 1¾ ounces pastry flour
- 8 ounces milk
- Salt to taste
- Ground pepper to taste
- 1 pinch ground nutmeg
- 4 ounces mozzarella cheese thinly sliced
- 3 tablespoons grated Parmesan cheese
Instructions
- Begin by rinsing the broccoli thoroughly and dividing it into small florets. Bring a large pot of salted water to a boil, and blanch the broccoli for 2–3 minutes until just tender but still vibrant and firm. Drain and set aside.
- Peel and finely chop the onion and garlic. In a medium saucepan, melt the butter over low heat. Add the onion and garlic and sauté gently until softened and translucent.
- Stir in the flour and cook for 1 minute, stirring constantly to form a roux. Slowly pour in the milk, whisking continuously to prevent lumps. Let the sauce simmer gently for about 5 minutes, stirring often, until it thickens to a creamy consistency. Season generously with salt, freshly ground black pepper, and a pinch of nutmeg.
- Preheat the oven to 350°F (175°C). Transfer the blanched broccoli into a greased baking dish. Pour the warm béchamel sauce evenly over the broccoli.
- Arrange the mozzarella slices on top, covering the surface. Finish by sprinkling the grated Parmesan over the mozzarella.
- Bake the casserole in the preheated oven for 25 to 30 minutes, or until the top is golden brown and bubbling. Serve hot, straight from the oven.