This cheesy broccoli casserole from scratch is filled with fresh broccoli and a homemade cream sauce. A buttery, cheesy breadcrumb topping adds a crispy finishing touch to this classic broccoli casserole.

broccoli casserole in dish with spoon

Besides the sweet potato casserole, mashed potatoes, stuffing, and roast turkey, one dish that always graces my family’s Thanksgiving table is broccoli casserole. Ever since I first made this broccoli casserole recipe years ago, it has been my family’s favorite holiday side dish. Thanksgiving dinner isn’t complete without it!

Before I created this from scratch broccoli casserole, the broccoli cheese casserole recipe that we had made forever included cream of mushroom soup, mayonnaise, and a Ritz cracker topping. It was undeniably delicious, so for years I ignored the fact that the casserole was made with not-so-healthy ingredients that I usually avoid.

small bowl of broccoli casserole

One day I got to thinking, it doesn’t have to be that way. There’s no reason why my broccoli casserole has to be made with canned cream of mushroom soup or mayo. I set out to create a broccoli casserole that tastes just as good as the original, but is made totally from scratch. You’ll love this easy broccoli cheddar casserole without mayonnaise!

This healthier broccoli casserole is made with fresh broccoli and mushrooms. I recommend using fresh broccoli if you can because the texture is much better than frozen. If you don’t care for mushrooms you can leave them out.

This broccoli casserole has an easy homemade creamy sauce, which, combined with the sauteed mushrooms is so much better than condensed soup from a can.

Instead of crackers this broccoli and cheese casserole has a crunchy, cheesy, homemade whole-wheat breadcrumb topping. You can replace the breadcrumbs with crushed Ritz crackers if you want a quick shortcut.

ingredients for broccoli casserole in glass bowl

Good quality store-bought breadcrumbs can be used, if you like. If you’re so inclined to go the completely homemade route, I’ve included easy directions for making your own breadcrumbs below. It only takes a few minutes.

This broccoli casserole from scratch takes a little more time and effort to make than the kind made with packaged ingredients. For me, it’s worth it to do a little more work in the kitchen to create a dish that I can feel good about eating and sharing with my family. And of course, the taste of completely from scratch food is always best.

How to make broccoli casserole:

  1. Start by boiling or steaming broccoli. Drain and rinse under cold water.
  2. Saute the mushrooms in some butter.
  3. Make the cream sauce: Make a roux with butter and flour. Whisk in milk and half and half and cook until thickened.
  4. Combine the broccoli, mushrooms, onion, an egg, cheddar cheese, cream sauce and some breadcrumbs.
  5. Put the broccoli mixture in a baking dish.
  6. Make the crispy topping with melted butter, breadcrumbs and shredded cheddar.
  7. Bake the casserole and enjoy!

To make this broccoli casserole ahead:

  • My family usually assembles and bakes this casserole the day before Thanksgiving, and then we reheat it right before Thanksgiving dinner. Reheat directions follow the recipe below.
  • You can also assemble the casserole one day ahead, refrigerate, and bake it the next day. Add about 10 minutes to the bake time if the casserole is cold from the refrigerator.

Do you have a favorite dish that’s always on your holiday table? I’d love to hear what it is! Leave a comment to let me know. And then go make this delicious broccoli casserole. It’s become a favorite for so many readers, and it might become your new favorite too!

My other favorite Thanksgiving side dishes:

close up of baked broccoli casserole ready to serve and eat at Thanksgiving

 Tips for making this Broccoli Casserole From Scratch:

  • Be careful not to overcook the broccoli. It should still be crisp-tender after boiling as it will cook more in the casserole.
  • Fresh broccoli is best in this recipe, but you may use frozen if necessary.
  • Some readers have commented asking for a substitute for the Greek yogurt. While my first recommendation is to give this a try with the yogurt (you shouldn’t taste it in the finished casserole), you may omit it. I’d recommend increasing the milk to 1 1/2 cups if omitting the yogurt. Or, you can also replace the Greek yogurt with mayonnaise.
  • You can replace the half and half with whole milk.
  • I like to make homemade breadcrumbs to top my casserole, as it only takes a few minutes. Store-bought breadcrumbs, Panko, or crushed Ritz crackers can also be used.
  • If you want to double this recipe, bake it in two separate baking dishes. A double recipe will not fit in a 9×13-inch dish.
  • To make broccoli rice casserole, stir in 1 cup of cooked rice to the broccoli mixture before baking.
  • Oven space tip: My family bakes this broccoli casserole (and our other side dishes) after the turkey comes out of the oven on Thanksgiving. The turkey rests for 45 minutes while the side dishes bake.
Broccoli casserole in baking dish with serving spoon.
5 from 15 ratings

Broccoli Casserole From Scratch

Servings: 10
Prep Time: 45 minutes
Cook Time: 45 minutes
Total Time: 1 hour 30 minutes
This cheesy broccoli casserole from scratch is filled with fresh broccoli and a homemade cream sauce. A buttery, cheesy breadcrumb topping adds a crispy finishing touch to this classic broccoli casserole.


  • 2 ½ pounds broccoli florets, cut into bite-size pieces (about 8 cups)
  • 6 tablespoons butter, divided
  • 1 cup finely chopped crimini or button mushrooms
  • ¼ cup flour
  • 1 cup milk, whole or 2% preferred
  • ½ cup half and half
  • ½ teaspoon salt
  • ¼ teaspoon freshly ground black pepper
  • ½ cup plain Greek yogurt*
  • 1 cup finely chopped yellow onion
  • 1 egg, lightly beaten
  • 1 ½ cups grated cheddar cheese, divided
  • 1 ¼ cups whole-wheat breadcrumbs, homemade* or store-bought, divided


  • Preheat oven to 350 degrees F. Lightly spray a 3 quart baking dish with cooking spray.
  • Bring a large pot of water to a boil. Add broccoli and boil for 4 minutes. Transfer to a colander, rinse with cold water, and drain. Place broccoli in a large bowl.
  • Meanwhile, melt 1 tablespoon of the butter in a medium saucepan over medium-low heat. Add the mushrooms and cook until soft, about 4 minutes, stirring occasionally. Transfer mushrooms to the bowl with the broccoli.
  • In the same saucepan, melt 4 tablespoons of the butter over medium heat. Whisk in the flour until smooth. Cook, whisking constantly, for 30 seconds. Whisk in the milk and half and half. Bring to a low simmer and continue to whisk constantly until thickened. Remove from the heat and stir in the salt, pepper, and Greek yogurt.
  • Pour the sauce into the bowl with the broccoli and mushrooms. Add the onion, egg, 1 cup of the cheddar cheese, and ½ cup of the breadcrumbs. Stir to combine. Transfer to the prepared baking dish.
  • Melt the remaining tablespoon of butter and stir into the remaining ¾ cup breadcrumbs. Stir in the remaining ½ cup cheddar. Sprinkle breadcrumb topping over the casserole.
  • Cover with foil and bake for 30 minutes. Uncover and bake 15-20 minutes more, until topping is lightly browned and casserole is hot. Let stand 10 minutes before serving.


  • To make homemade breadcrumbs:  Preheat oven to 300 degrees F. In a food processor, process 4 slices whole-wheat bread until you have fine crumbs. Lay crumbs on a rimmed baking sheet and place in the preheated oven until dry and very lightly golden, about 15 minutes. Stir after 10 minutes to help crumbs brown evenly. Unused breadcrumbs can be stored in the freezer.
  • You can assemble the casserole one day ahead, refrigerate, and bake it the next day. Add about 10 minutes to the bake time if the casserole is cold from the refrigerator.
  • To reheat broccoli casserole:  Bake, covered, in a 350° F oven until hot, about 25 to 35 minutes, then uncover for 5 to 10 minutes to crisp the topping.
Serving: 1/10 recipe, Calories: 272kcal, Carbohydrates: 21g, Protein: 13g, Fat: 16g, Saturated Fat: 9g, Cholesterol: 61mg, Sodium: 363mg, Fiber: 4g, Sugar: 6g
Nutrition information is an estimate.
Cuisine: American
Course: Side Dish
Tried this recipe?Mention @kristines_kitchen on Instagram or tag #kristineskitchenblog.


This site contains affiliate links. If you make a purchase through these links, I may receive a small commission, at no extra cost to you. Thank you for supporting Kristine's Kitchen!