30-Minute 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
- 3 lbs fresh broccoli, cut into bite-sized florets
- 2 tablespoons butter
- 2 cups onions, chopped
- 2 tablespoons all-purpose flourcornstarch1.5gluten-freegluten-free
creates silkier sauce
- 1 ½ cups evaporated milk, or whole milk
- 1 cup monterey jack or cheddar cheese, shreddedgruyere or fontina1:1dairy-free
deeper nutty flavor
- ¼ teaspoon salt(optional)
- ½ teaspoon black pepper
- ½ teaspoon garlic powder
Instructions
- 1
Steam broccoli until crisp-tender, then drain well and transfer to a shallow serving dish.
- 2
Melt butter in a medium saucepan over medium heat.
- 3
Add chopped onions and cook until tender, about 8 minutes.
- 4
Stir in flour to create a paste.
- 5
Add milk and cook, stirring constantly, until sauce boils.
- 6
Continue cooking for several minutes.
- 7
Stir in cheese until completely melted.
- 8
Season with salt, pepper, and garlic powder.
- 9
Pour sauce over hot broccoli and serve immediately.
Tips
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.
Whisk constantly when adding milk to prevent lumps; a smooth sauce depends on breaking up flour clumps before the liquid comes to a boil.
Use freshly shredded cheese for faster, smoother melting; pre-shredded varieties with anti-caking agents can create a grainy texture.
Good to Know
Cover and refrigerate up to 3 days. Reheat gently on stovetop with splash of milk to loosen sauce.
Prepare sauce and broccoli separately; store in airtight containers up to 3 days. Combine just before serving and reheat together gently.
Serve immediately while broccoli is hot and sauce is pourable. Pair with roasted chicken, steak, or as part of a vegetarian plate.
Common Mistakes
Don't skip draining broccoli thoroughly to avoid watery, diluted sauce.
Don't add cheese before sauce reaches a boil or it may clump rather than melt smoothly.
Don't use high heat for melting cheese or it may break and become grainy.
Substitutions
Dairy-Free Swaps
deeper nutty flavor
Vegan Options
Gluten-Free Swaps
General Alternatives
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.