Ingredients
Equipment
Method
1. Caramelize the Onions
- Melt 2 tablespoons of butter and the olive oil in a large Dutch oven or deep skillet over medium-low heat.
- Add the thinly sliced onions. Cook for 20 minutes, stirring occasionally, until the onions have softened completely.
- Reduce the heat to low. Continue cooking the onions for another 30–40 minutes, stirring every 5–7 minutes, until they are deep golden brown and heavily caramelized.
- Stir in the thyme, salt, pepper, and balsamic vinegar. Cook for 1 minute.
- Deglaze the pan by pouring in the 1 cup of beef broth. Bring to a simmer, scraping up any browned bits from the bottom of the pan. Let the broth reduce slightly for 5 minutes.
- Remove the caramelized onion mixture from the heat and set aside.
2. Prepare the Broccoli
- Preheat your oven to 375°F (190°C). Grease a 9x13-inch or 3-quart baking dish.
- If using fresh broccoli, steam or boil the florets for 3–4 minutes until they are bright green and slightly tender-crisp (par-cooked). Drain thoroughly. If using frozen broccoli, you can add it directly to the casserole mixture without thawing or pre-cooking.
3. Make the Cheese Sauce
- In a medium saucepan, melt the remaining 3 tablespoons of butter over medium heat.
- Whisk in the 3 tablespoons of flour to create a smooth roux. Cook for 1 minute, stirring constantly.
- Gradually pour in the half-and-half (or milk), whisking continuously to prevent lumps. Bring the sauce to a gentle simmer, stirring frequently, until it has thickened enough to coat the back of a spoon (about 5–7 minutes).
- Reduce the heat to low. Stir in the nutmeg.
- Remove the sauce from the heat and stir in the 1 cup of Gruyère cheese and 1 cup of sharp cheddar cheese until completely smooth and melted.
4. Assemble the Casserole
- Pour the prepared cheese sauce into the saucepan containing the caramelized onion mixture. Stir until fully combined.
- Add the par-cooked or frozen broccoli florets to the sauce. Gently fold the ingredients together until the broccoli is evenly coated.
- Transfer the mixture to the prepared baking dish, spreading it into an even layer.
- In a small bowl, combine the crushed croutons (or panko) and the extra 1/2 cup of shredded Gruyère cheese. Sprinkle this topping evenly over the casserole.
5. Bake
- Bake the casserole in the preheated 375°F (190°C) oven for 25–35 minutes, or until the sauce is bubbly around the edges and the topping is golden brown and crisp.
- Remove from the oven and let the casserole rest for 5–10 minutes before serving.
Notes
For a deeper, richer flavor, use high-quality beef stock or substitute half of the half-and-half with dry white wine when making the cheese sauce. This casserole can be assembled fully (without the topping) and refrigerated for up to 24 hours before baking; add 10-15 minutes to the bake time if baking from cold.
