Looking for a side dish that’s both comforting and sophisticated? This Creamy Garlic Parmesan Broccoli is it! Roasting the broccoli first brings out its natural sweetness and gives it a delightful texture, while the rich, cheesy sauce elevates it to restaurant-quality status. It’s surprisingly easy to make and guaranteed to become a family favorite. This recipe balances savory, bright, and slightly smoky flavors for a truly unforgettable experience. Get ready to ditch the boring steamed broccoli forever!

Ingredients
- 500 g (1.1 lb) fresh broccoli florets: We’re using fresh broccoli for the best flavor and texture. Look for firm, tightly closed florets with a vibrant green color. These will be tossed with olive oil, sea salt, and black pepper before roasting to enhance their natural sweetness.
- 30 g (2 Tbsp) unsalted butter: The foundation of our creamy sauce! Using unsalted butter allows us to control the overall saltiness of the dish.
- 1 small yellow onion (≈70 g, 1 ½ oz), finely diced: Yellow onion provides a subtle sweetness and aromatic base for the sauce. Dicing it finely ensures it melts into the sauce and doesn’t overpower the other flavors.
- 3 cloves garlic (≈9 g, 0.3 oz), minced: Garlic is essential for that classic savory flavor. Freshly minced garlic is always best for its potent aroma and taste.
- 15 g (1 Tbsp) all‑purpose flour: This acts as a thickening agent for our sauce, creating that luxurious creamy texture.
- 120 ml (½ cup) low‑sodium vegetable broth: Provides a flavorful liquid base for the sauce. Using low-sodium broth allows us to control the salt content.
- 120 ml (½ cup) whole milk: Adds richness and creaminess to the sauce. Whole milk provides a better texture than lower-fat options.
- 120 ml (½ cup) heavy cream: Takes the creaminess to the next level! Heavy cream contributes to a silky smooth and decadent sauce.
- 60 g (2 oz) grated Parmesan cheese (microbial‑rennet): The star of the show! Parmesan cheese delivers a salty, umami-rich flavor that perfectly complements the broccoli. Using microbial-rennet Parmesan ensures it’s suitable for those avoiding animal rennet.
- ½ tsp (2.5 ml) lemon zest: Brightens up the sauce and cuts through the richness with a refreshing citrus note.
- ½ tsp (2.5 ml) smoked paprika: (Optional) Adds a subtle smoky flavor and a beautiful reddish hue. Feel free to omit if you prefer a more classic flavor profile.
- ½ tsp (2.5 ml) freshly ground black pepper: Provides a gentle warmth and enhances the other flavors.
- ¼ tsp (1.25 ml) fine sea salt: Balances the flavors and brings out the natural sweetness of the broccoli.
- 1 Tbsp (15 ml) olive oil: Used for roasting the broccoli, adding flavor and helping it crisp up.
- 2 Tbsp (30 g) toasted sliced almonds, roughly chopped: Adds a delightful crunch and nutty flavor as a garnish.
- 1 Tbsp (15 g) pomegranate arils: Provides a pop of color and a burst of sweet-tart flavor as a garnish.
Substitutions
Don’t have an ingredient on hand? Here are a few easy substitutions:
- Broccoli: Cauliflower can be used as a substitute, though the flavor will be slightly different.
- Heavy Cream: Half-and-half can be used, but the sauce will be less rich.
- Parmesan Cheese: Pecorino Romano cheese can be used for a similar salty, umami flavor.
- Vegetable Broth: Chicken broth can be used if you’re not vegetarian.
Optional (plan-ahead): If you’re shopping for the week, I put this into a 4-Week Meal Plan + Grocery Lists so dinner’s already decided before your day gets busy.
Bringing it All Together: Step-by-Step Instructions
- Preheat and Prep the Broccoli: Begin by preheating your oven to 200°C (400°F). This high heat is crucial for achieving that desirable crisp-tender texture. Toss the broccoli florets with olive oil, sea salt, and black pepper in a bowl. Ensure each floret is lightly coated – this promotes even roasting and prevents sticking.
- Roast the Broccoli: Spread the seasoned broccoli in a single layer on a baking sheet. Overcrowding will steam the broccoli instead of roasting it. Roast for 12-15 minutes, flipping halfway through, until the florets are crisp-tender and have some lightly charred edges. The charring adds a wonderful depth of flavor.
- Sauté the Aromatics: While the broccoli roasts, melt the butter in a medium saucepan over medium heat. Once melted, add the finely diced onion and sauté for 3-4 minutes, stirring occasionally. You want the onion to become translucent and softened, but avoid browning it, as browned onion will impart a different flavor profile.
- Bloom the Garlic: Add the minced garlic to the softened onions and cook for another 30 seconds, stirring constantly. Garlic burns easily, so keep a close watch and cook just until fragrant. This step infuses the butter with a beautiful garlic aroma.
- Create the Roux: Sprinkle the all-purpose flour over the onion and garlic mixture. Whisk continuously for 1 minute to create a blond roux. A roux is a cooked mixture of fat and flour, and it’s the foundation of our creamy sauce. Whisking prevents burning and ensures a smooth sauce.
- Build the Sauce: Slowly whisk in the vegetable broth, milk, and heavy cream, scraping the bottom of the saucepan to prevent any lumps from forming. Continue whisking until the sauce is smooth and begins to simmer. Reduce the heat to low and let it thicken for about 3-4 minutes, stirring occasionally.
- Incorporate the Parmesan and Seasonings: Stir in the grated Parmesan cheese, lemon zest, smoked paprika (if using), black pepper, and sea salt. Cook for 1-2 minutes, stirring until the cheese is fully melted and the sauce is glossy and smooth. Taste and adjust seasonings as needed.
- Combine and Warm: Add the roasted broccoli to the saucepan with the creamy sauce. Gently toss to coat the florets evenly. Allow the broccoli to warm through in the sauce for about 2 minutes.
- Plate and Garnish: Plate the Creamy Garlic Parmesan Broccoli on a shallow bowl or plate. Drizzle with a thin line of extra-virgin olive oil for shine. Sprinkle with toasted almond slivers and pomegranate arils. Finish with a dusting of grated Parmesan and a few extra curls of lemon zest.
Why This Recipe Works: The Science of Creamy Perfection
The key to this Creamy Garlic Parmesan Broccoli lies in the roux. This classic French technique creates a stable base for the sauce, preventing it from separating. The combination of milk and heavy cream provides richness and a velvety texture. Parmesan cheese adds a salty, umami depth, while lemon zest brightens the flavors and cuts through the richness. Roasting the broccoli first concentrates its flavor and provides a delightful textural contrast to the creamy sauce.
Tips for the Perfect Roast
Don’t be afraid to get some color on the broccoli! A little charring adds a smoky, complex flavor. Make sure the broccoli florets are relatively uniform in size to ensure even cooking. If you don’t have an oven, you can steam the broccoli until crisp-tender, but roasting is highly recommended for the best flavor.

Variations and Additions
Feel free to customize this recipe to your liking! Consider adding a pinch of red pepper flakes for a touch of heat, or substituting the almonds with toasted pine nuts or walnuts. You could also add cooked chicken or shrimp for a complete meal. For a vegetarian option, consider adding some sauteed mushrooms.
Storing Leftovers
While best served immediately, leftovers can be stored in an airtight container in the refrigerator for up to 2 days. The sauce may thicken upon cooling, so you may need to add a splash of milk or broth when reheating. Reheat gently on the stovetop or in the microwave.
Frequently Asked Questions
- Can I use a different type of cheese? While Parmesan is traditional, you can experiment with other hard cheeses like Pecorino Romano or Asiago.
- Can I make this dairy-free? Substitute the butter, milk, and cream with plant-based alternatives. Nutritional yeast can be used in place of Parmesan cheese for a cheesy flavor.
- How can I make the sauce thicker? If the sauce isn’t thick enough, whisk together 1 teaspoon of cornstarch with 1 tablespoon of cold water and add it to the simmering sauce.
This Creamy Garlic Parmesan Broccoli is a guaranteed crowd-pleaser! It’s a simple yet elegant side dish that elevates any meal. Don’t forget to save this recipe to Pinterest for later!
Print
Creamy Garlic Parmesan Broccoli
- Total Time: 35 minutes
- Yield: 4 servings 1x
- Diet: Vegetarian
Description
This Creamy Garlic Parmesan Broccoli is a comforting and sophisticated side dish. Roasting the broccoli first enhances its natural sweetness, while a rich, cheesy sauce elevates it to restaurant quality.
Ingredients
- 500 g (1.1 lb) broccoli florets, tossed with olive oil, salt, and pepper
- 30 g (2 Tbsp) unsalted butter
- 70 g (1.5 oz) yellow onion, diced
- 9 g (0.3 oz) garlic, minced
- 15 g (1 Tbsp) all-purpose flour
- 120 ml (0.5 cup) low-sodium vegetable broth
- 120 ml (0.5 cup) whole milk
- 120 ml (0.5 cup) heavy cream
- 60 g (2 oz) grated Parmesan cheese
- 2.5 ml (0.5 tsp) lemon zest
- 2.5 ml (0.5 tsp) smoked paprika (optional)
- 2.5 ml (0.5 tsp) black pepper
- 1.25 ml (0.25 tsp) sea salt
- 15 ml (1 Tbsp) olive oil
- 30 g (2 Tbsp) toasted sliced almonds, chopped
- 15 g (1 Tbsp) pomegranate arils
Optional (plan-ahead): If you’re shopping for the week, I put this into a 4-Week Meal Plan + Grocery Lists so dinner’s already decided before your day gets busy.
Instructions
- Roast Broccoli: Toss broccoli with oil, salt, and pepper; roast at 200°C (400°F) for 12-15 minutes, flipping halfway.
- Sauté Aromatics: Melt butter, sauté onion until translucent (3-4 minutes).
- Bloom Garlic: Add garlic and cook until fragrant (30 seconds).
- Create Roux: Whisk in flour for 1 minute.
- Build Sauce: Slowly whisk in broth, milk, and cream; simmer and thicken (3-4 minutes).
- Incorporate Parmesan: Stir in Parmesan, zest, paprika (if using), pepper, and salt.
- Combine & Warm: Add roasted broccoli to sauce; toss and warm through (2 minutes).
- Plate & Garnish: Plate, drizzle with oil, sprinkle with almonds and arils.
Notes
Roasting the broccoli is key for optimal flavor and texture. Adjust seasonings to your preference.
- Prep Time: 15 minutes
- Cook Time: 20 minutes
- Category: Side Dish
- Method: Roasting, Sautéing
- Cuisine: Italian
Nutrition
- Serving Size: 1 cup
- Calories: 350 kcal
- Sugar: 8 g
- Sodium: 400 mg
- Fat: 25 g
- Saturated Fat: 12 g
- Unsaturated Fat: 10 g
- Trans Fat: 0 g
- Carbohydrates: 25 g
- Fiber: 5 g
- Protein: 12 g
- Cholesterol: 60 mg