This broccoli cheese casserole is the ultimate comfort food, bringing together tender broccoli, a creamy from-scratch cheese sauce, and a golden-buttery cracker topping that will have everyone coming back for seconds.
Perfect for weeknight dinners or holiday feasts, it’s a dish that’s as easy to make as it is irresistible to eat. Get ready to wow your family with a side dish that’s hearty, wholesome, and packed with cheesy goodness!
Why you’ll love this recipe
- Made from scratch: Skip the canned soup! This recipe uses fresh ingredients like real butter, cream cheese, and milk to create a rich, velvety cheese sauce that’s worlds apart from pre-packaged alternatives.
- Perfect texture and flavor: Tender broccoli is smothered in creamy, cheesy goodness and topped with a buttery, crispy cracker topping that adds the perfect crunch to every bite.
- Crowd-pleaser: Whether it’s a weeknight dinner or a holiday feast, this casserole is guaranteed to be the star of the table! Both adults and kids love this one – my own family is testament to this!
Ingredients you’ll need
Here is a visual overview of the ingredients in the recipe. Scroll down to the printable recipe card at the bottom of this post for quantities!
Ingredient notes
- Broccoli: Fresh florets work best for this recipe to give it a perfect texture, but frozen broccoli can be used if thawed and patted dry to prevent extra moisture.
- Milk: Whole milk creates the creamiest sauce, but you can use 2% if that’s what you have on hand. Avoid skim milk, as it may result in a thinner sauce.
- Cheese: A mix of sharp cheddar and Parmesan adds depth, but you can swap in Gruyère or Monterey Jack for a twist. Pre-shredded cheese is perfectly fine, but freshly shredded melts more smoothly.
- Crackers: Buttery round crackers give the topping its signature crunch, but panko breadcrumbs or crushed pretzels can be a great substitute if needed.
How to make broccoli casserole from scratch
Let’s get started on this cozy broccoli cheese casserole—it’s made from scratch and packed with cheesy, creamy goodness. Trust me, once you try this, it’s going to become a favorite in your kitchen!
1. Before you begin: First, preheat your oven to 360°F and grease a 9×13-inch baking dish. A light coat of butter or non-stick spray will do the trick, making cleanup a breeze later. If your oven preheats fast, you may turn it on later – just don’t forget!
2. Prep broccoli: Next, bring a large pot of salted water to a boil. Toss in the broccoli florets and let them cook for just 3 to 5 minutes. You’re looking for them to be firm but starting to get tender. No mushy broccoli here!
Once they’re ready, drain them immediately and give them a quick rinse under cold water to stop the cooking process. This little trick keeps them bright green and perfectly crisp-tender.
3. Make the sauce: Now, let’s make that delicious, from-scratch cheese sauce. Grab a medium saucepan and melt the butter over medium heat. Once it’s melted, add the diced onion and let it cook gently, stirring often, until it’s soft and fragrant. This should take about 7 to 8 minutes. Be patient here—soft onions without browning are the goal!
Reduce the heat to medium-low and sprinkle the flour over the onions. Stir constantly for about 2 minutes. You’re creating a roux, which will help thicken the sauce.
Slowly pour in the milk, whisking as you go. Don’t rush this step—whisking gradually ensures a smooth, lump-free sauce. Once the milk is fully incorporated, stir in the salt, garlic powder, and a little black pepper.
Turn the heat back up to medium-high and keep whisking. In just a minute or two, the sauce will start to bubble and thicken. It’s magic! Once it’s thick and glossy, remove the saucepan from the heat.
4. Finish sauce: Now for the fun part: stir in the diced cream cheese and shredded cheeses. Keep stirring until everything is melted and you have a luscious, creamy cheese sauce that smells heavenly.
5. Assemble: Spread about ¼ of the cheese sauce over the bottom of your prepared baking dish. This creates a nice base layer to coat the broccoli.
Add half of the cooked broccoli on top, spreading it out evenly. Pour half of the remaining cheese sauce over the broccoli, making sure it gets into all the nooks and crannies.
Repeat with the rest of the broccoli and cheese sauce. Finally, sprinkle ¼ cup of shredded cheddar over the top for that extra layer of cheesiness.
Now, for the finishing touch: the buttery, crunchy topping. In a small bowl, combine the crushed crackers with the melted butter, then sprinkle the mixture evenly over the top of the casserole. It’s going to bake up beautifully golden and crispy.
6. Bake: Pop the casserole into your preheated oven and bake for 15 to 20 minutes. You’ll know it’s ready when the sauce is bubbly and the topping is golden and irresistible. Let it rest on the counter for 5 to 10 minutes before serving—this helps everything set so it’s easier to scoop.
And there you have it! A warm, creamy, homemade broccoli cheese casserole that’s perfect for any occasion. Serve it as a comforting side dish or a main course everyone will love. Enjoy!
Top tips for recipe success
- Keep an eye on the oven: Ovens can vary, so start checking your casserole a few minutes early to prevent the topping from burning. If it’s browning too quickly, loosely cover it with foil for the rest of the bake time.
- Customize your cracker topping: If you prefer a chunkier crunch, leave the cracker crumbs a bit larger. For a finer, more even topping, crush them into smaller pieces—it’s all about your personal preference!
- Take your time with the sauce: Don’t rush the cheese sauce; whisking slowly ensures a smooth, creamy consistency without lumps. Cooking the flour and butter (the roux) for the full two minutes adds depth of flavor and eliminates any raw flour taste.
- Broccoli prep: Cutting the broccoli into bite-sized pieces helps them cook evenly and makes the casserole easier to serve and eat.
- Blanch, don’t overcook the broccoli: Boil the broccoli just until crisp-tender and stop the cooking with a cold rinse. This keeps it vibrant and prevents it from becoming mushy.
- Freshly shredded cheese melts best: While pre-shredded cheese is convenient, it often contains anti-caking agents that can make your sauce grainy. Shredding cheese fresh will give you a smoother, creamier result.
- Let it rest before serving: Give the casserole 5-10 minutes to cool after baking. This helps the layers set and makes serving easier.
Helpful recipe hints
Recipe variations
- Add protein: Stir in cooked, diced chicken, diced ham or crumbled bacon for a heartier version that can double as a main dish.
- Try different veggies: Swap broccoli for cauliflower, or mix in carrots, peas, or sautéed mushrooms for a colorful twist.
- Switch up the cheese: Experiment with Gruyère, Gouda, or Monterey Jack for a different flavor profile. A smoky cheddar can also add a bold touch.
- Go low-carb: Skip the cracker topping and use crushed pork rinds or grated Parmesan for a crunchy, keto-friendly option.
- Make it spicy: Add a pinch of cayenne pepper or red pepper flakes to the cheese sauce for a subtle kick of heat.
- Herb it up: Stir in fresh herbs like thyme or parsley to the sauce for an extra layer of flavor.
Storage tips
Make ahead: You can prepare the casserole up to the point of baking (minus the cracker topping!), cover it tightly with plastic wrap or foil, and refrigerate for up to 24 hours.
When ready to bake, let it sit at room temperature for 15-20 minutes, then add the cracker topping and bake as directed.
Leftover storage: Since this casserole contains dairy, it’s best not to leave it out at room temperature for more than 2 hours to keep it safe to eat!
Leftovers can be stored in an airtight container in the refrigerator for up to 3 days. Reheat individual portions in the microwave or warm the whole dish in the oven at 350°F until heated through.
Freezer storage: To freeze, assemble the casserole but skip the cracker topping and the baking step. Cover it tightly with a layer of plastic wrap and foil, then label with the name and use-by date and freeze for up to 2 months.
When ready to bake, thaw overnight in the refrigerator, remove the plastic wrap and foil, add the cracker topping and bake as directed.
Serving ideas
- Holiday showstopper: This casserole is a perfect side dish for Thanksgiving, Christmas, or Easter. Pair it with roasted turkey, ham, or prime rib for a truly festive spread that will have everyone asking for seconds.
- Weeknight comfort: Serve it as a cozy side with baked chicken, pork chops, or a simple baked salmon. Add a green salad or crusty bread to round out the meal.
- Vegetarian main dish: This casserole is hearty enough to stand alone as a vegetarian dinner. Serve it with a side of quinoa, rice, or a loaf of fresh sourdough bread for a filling meal.
- Potluck favorite: Bring it to a potluck or family gathering—it’s easy to transport and always a crowd-pleaser. Just bake it right before leaving for the event to keep it warm and bubbly, and don’t let it sit out for more than 2 hours.
- Kids’ dinner win: Make it a hit with the little ones by serving it alongside crispy chicken tenders or a bowl of tomato soup. The cheesy goodness is hard for anyone to resist!
More holiday sides to try
PS If you try this recipe, please leave a review in the comment section and add a star rating in the recipe card – I appreciate your feedback! Follow along on Pinterest, Facebook or Instagram.
Printable recipe
Broccoli Cheese Casserole
Recipe details
Ingredients
- 2 pounds broccoli florets cut into bite-sized pieces (about 10 cups)
- 4 tablespoons butter
- ½ medium onion finely diced (about ½ cup)
- 4 tablespoons all-purpose flour
- 2 cups whole milk
- ½ teaspoon garlic powder
- ½ teaspoon salt or more to taste
- ground black pepper to taste
- ½ (8-oz) block cream cheese diced and softened
- 1 cup shredded cheese (I used ¾ cup sharp cheddar and ¼ cup grated Parmesan)
Topping
- ¼ cup shredded cheddar cheese
- 20 buttery round crackers about 2 ½ cups, crushed
- 2 tbsp butter melted
Instructions
- Prep: Preheat oven to 360°F and grease a 9×13-inch baking dish.
- Cook broccoli: Boil broccoli in salted water for 3-5 minutes, until firm-tender. Drain and rinse under cold water.
- Cook onion: In a medium saucepan, melt butter over medium heat. Add onion and cook for 7-8 minutes, stirring, until softened but not browned.
- Make sauce: Reduce heat to medium-low, add flour, and cook for 2 minutes, stirring constantly. Gradually whisk in milk until smooth. Add salt, garlic powder, and black pepper, then bring to a boil over medium-high heat, whisking constantly, until thickened (1-2 minutes).
- Add cheese: Remove from heat and stir in cream cheese and shredded cheeses until melted.
- Assemble: Spread ¼ of the sauce on the bottom of the prepared dish. Layer half the broccoli, then half the remaining sauce. Repeat broccoli and sauce layers, finishing with sauce.
- Add topping: Sprinkle casserole with ¼ cup shredded cheddar cheese. Combine crushed crackers and melted butter; sprinkle over the top.
- Bake: Bake for 18-25 minutes, until bubbly and golden. Be sure to check regularly and cover top loosely with foil in case topping gets too brown! Let rest for 5-10 minutes before serving.
Notes
Ingredient notes
- Broccoli: Fresh broccoli gives the best texture, but frozen florets work if thawed and patted dry to avoid excess moisture.
- Cheese: Shredding cheese fresh is worth the extra effort—it melts more smoothly than pre-shredded cheese, which can make the sauce grainy.
- Sauce: Take your time whisking the milk into the flour and butter mixture (roux) to create a creamy, lump-free sauce with a rich flavor.
Recipe tips
- Customize the topping: Crushed crackers can be left chunky for extra crunch or finely crushed for a more even texture—choose your preference!
- Avoid burning: Keep an eye on the casserole while it bakes. If the topping browns too quickly, cover it loosely with foil.
- Prep ahead: Assemble the casserole up to a day ahead, refrigerate, and bake just before serving.
Storage tips
- Refrigerate leftovers: Store in an airtight container for up to 3 days. Reheat in the microwave or oven at 350°F until warmed through.
- Freezing: Assemble the casserole without baking. Wrap tightly in plastic wrap and foil, freeze for up to 2 months, then thaw overnight in the fridge before baking. Add the topping fresh for the best texture.
Bruce says
I find that warming the milk before adding to the roux helps it thicken more quickly. Also, even though there are diced onions in the mixture, could I use the dried fried onions for the topping in place of cracker crumbs?
Nora says
Hi Bruce, warming the milk first is such a great tip – it really does help the roux come together faster! Though I find it thickens quickly enough for my liking, but it definitely works for those who don’t want to wait too long.
And yes, you can absolutely use those crispy fried onions for the topping instead of cracker crumbs! They’d add such a nice crunch and a pop of flavor. I think it would pair perfectly with the casserole.
Let me know how it turns out – I bet it’s going to be a hit! 🥦🧀🍽️