Ingredients
Equipment
Method
1. Caramelize the Onions
- Melt 2 tablespoons of the 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 and Bake
- 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.
- 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 the crispiest topping, ensure your croutons are well-crushed, mimicking a coarse breadcrumb. If using fresh broccoli, make sure it is very well-drained after par-cooking to avoid a watery casserole. This dish is excellent made ahead of time (before adding the topping) and baked just before serving.