30-Minute Broccoli With Creamy Onion Cheese Sauce

Prep: 10 minCook: 20 min6 servingsmediumAmerican
Broccoli With Creamy Onion Cheese Sauce

Tender steamed broccoli florets topped with a rich, savory cheese sauce made from caramelized onions, melted monterey jack or cheddar, and a silky evaporated milk base. This comfort-food classic delivers sharp cheese and sweet onion flavors that complement the fresh vegetable. Serve as a simple side dish for weeknight dinners or holiday meals. The sauce technique—a basic roux-based béchamel enriched with cheese—makes this approachable for home cooks while tasting restaurant-quality.

Ingredients

6 servings
  • 3 lbs fresh broccoli, cut into bite-sized florets
  • 2 tablespoons butter
    olive oil or ghee1:1vegan

    tastes less rich

    Full guide →
  • 2 cups onions, chopped
  • 2 tablespoons all-purpose flour
    cornstarch1.5gluten-freegluten-free

    creates silkier sauce

  • 1 ½ cups evaporated milk, or whole milk
    heavy cream or whole milk1:1

    cream yields richer sauce

    Full guide →
  • 1 cup monterey jack or cheddar cheese, shredded
    gruyere or fontina1:1dairy-free

    deeper nutty flavor

  • ¼ teaspoon salt(optional)
  • ½ teaspoon black pepper
  • ½ teaspoon garlic powder

Instructions

  1. 1

    Steam broccoli until crisp-tender, then drain well and transfer to a shallow serving dish.

  2. 2

    Melt butter in a medium saucepan over medium heat.

  3. 3

    Add chopped onions and cook until tender, about 8 minutes.

  4. 4

    Stir in flour to create a paste.

  5. 5

    Add milk and cook, stirring constantly, until sauce boils.

  6. 6

    Continue cooking for several minutes.

  7. 7

    Stir in cheese until completely melted.

  8. 8

    Season with salt, pepper, and garlic powder.

  9. 9

    Pour sauce over hot broccoli and serve immediately.

Tips

Tip 1

Don't overcook broccoli during steaming; stopping at crisp-tender ensures it stays bright green and doesn't become mushy after the hot sauce is added.

Tip 2

Whisk constantly when adding milk to prevent lumps; a smooth sauce depends on breaking up flour clumps before the liquid comes to a boil.

Tip 3

Use freshly shredded cheese for faster, smoother melting; pre-shredded varieties with anti-caking agents can create a grainy texture.

Good to Know

Storage

Cover and refrigerate up to 3 days. Reheat gently on stovetop with splash of milk to loosen sauce.

Make Ahead

Prepare sauce and broccoli separately; store in airtight containers up to 3 days. Combine just before serving and reheat together gently.

Serve With

Serve immediately while broccoli is hot and sauce is pourable. Pair with roasted chicken, steak, or as part of a vegetarian plate.

Common Mistakes

Watch

Don't skip draining broccoli thoroughly to avoid watery, diluted sauce.

Watch

Don't add cheese before sauce reaches a boil or it may clump rather than melt smoothly.

Watch

Don't use high heat for melting cheese or it may break and become grainy.

Substitutions

Dairy-Free Swaps

monterey jack or cheddar
gruyere or fontina1:1dairy-free

deeper nutty flavor

Vegan Options

butter
olive oil or ghee1:1vegan

tastes less rich

Full guide →

Gluten-Free Swaps

all-purpose flour
cornstarch1.5gluten-freegluten-free

creates silkier sauce

Full guide →

General Alternatives

evaporated milk
heavy cream or whole milk1:1

cream yields richer sauce

Full guide →
Find more substitutions →

FAQ

Can I make this sauce ahead of time?

Yes, prepare the sauce separately and refrigerate up to 3 days. Reheat gently over medium heat, stirring occasionally and adding a splash of milk if it thickens too much. Combine with fresh broccoli just before serving for best texture.

What if my sauce is too thick?

Whisk in milk or cream one tablespoon at a time until you reach the desired consistency. If the cheese has already melted, gentle heat and constant stirring prevent lumping as you thin it.

Can I freeze the leftovers?

The dish doesn't freeze well because broccoli becomes mushy and the sauce may separate. Refrigerate for up to 3 days instead. Reheat gently on the stovetop, not in the microwave, for better sauce texture.