Green Bean Casserole — The Thanksgiving Standard Made From Scratch

A golden-topped green bean casserole in a white ceramic baking dish, garnished with extra crispy fried onions, shot from a slight angle on a rustic wood Thanksgiving table

There are certain dishes that don’t just feed a table — they hold one together. Green Bean Casserole is exactly that kind of recipe. It shows up every November without fail, bubbling in a baking dish somewhere between the mashed potatoes and the cranberry sauce, and somehow it disappears faster than almost anything else on the spread. For a dish that’s been on American holiday tables since 1955, that’s not a coincidence. It earned its place.

But here’s the thing most people don’t realize: the version most of us grew up eating — the one built on a can of cream of mushroom soup and a container of store-bought fried onions — is just the starting point. When you make it from scratch, with a velvety homemade mushroom cream sauce and golden, shattering crispy onions you fry yourself, it becomes something genuinely special. The flavors deepen, the texture gets more complex, and you know exactly what went into it. That matters, especially when you’re feeding people you love.

At Eating Happiness, we believe that comfort food and clean eating aren’t opposites — they’re just two ends of a spectrum, and the best recipes live somewhere thoughtfully in the middle. This Green Bean Casserole is a worthy-it moment. It’s indulgent, yes, but it’s built on whole ingredients: fresh green beans, real mushrooms, good dairy, and a crispy onion topping you can actually feel good about. This is the version you’ll make once and never go back from.

A golden-topped green bean casserole in a white ceramic baking dish, garnished with extra crispy fried onions, shot from a slight angle on a rustic wood Thanksgiving table

Why You’ll Love This Recipe

  • Completely from scratch — no canned soup, no mystery ingredients, just real food with real flavor
  • Mushroom sauce is next level — deeply savory, silky, and so much richer than anything from a can
  • Crispy onions you actually made — they stay crunchier longer and taste infinitely better
  • Naturally vegetarian — a crowd-pleaser that works for every guest at the table
  • Make-ahead friendly — assemble the casserole the day before and just bake when you’re ready
  • A true crowd-pleaser — feeds 8 to 10 people as a side, perfect for the holiday table

Key Ingredients

The soul of this Green Bean Casserole starts with fresh green beans — about two pounds of them, blanched briefly so they stay bright and tender with just a little bite. Frozen green beans work in a pinch, but fresh ones hold their color and texture through baking in a way that frozen simply can’t match. Right alongside them, cremini mushrooms do the heavy lifting in the sauce. Creminis have a meatier, earthier flavor than white button mushrooms, and when you sauté them in butter until they’re deeply golden, they develop a richness that becomes the backbone of the entire dish. For the sauce itself, heavy cream and chicken or vegetable broth combine with a roux to create a luxuriously thick, pourable base that coats every green bean evenly — it’s the element that ties everything together without being gluey or starchy.

The crispy fried onions deserve their own moment. Thin-sliced yellow onions are dredged in seasoned flour and fried until deeply golden — they bring crunch, sweetness, and a savory bite that the canned version approximates but never quite reaches. Finally, Gruyère cheese melted into the sauce and sprinkled on top adds a nutty, slightly funky depth that elevates this from a simple vegetable side to something you’ll genuinely crave. It’s optional, but it’s the kind of optional that becomes mandatory once you try it.

Pro Tips & Variations

Overhead flat-lay of fresh green beans, sliced cremini mushrooms, a bowl of flour-dredged onion rings, a small pitcher of cream, and shredded Gruyère on a marble surface

  • Blanch your green beans properly. Drop them in heavily salted boiling water for exactly 4 minutes, then immediately transfer to an ice bath. This locks in their color and ensures they don’t turn mushy during baking. Serious Eats has a great breakdown of why this step makes such a meaningful difference in the final texture.
  • Don’t rush the mushrooms. Cook them in a single layer over medium-high heat and resist the urge to stir constantly. You want them to develop a deep golden-brown sear before you add the liquid — that color equals flavor.
  • Make the crispy onions in batches. Overcrowding the pan drops the oil temperature and gives you soggy, oily onions instead of crispy ones. Work in small batches and drain on a paper towel-lined rack.
  • Add a splash of soy sauce to the mushroom sauce. Just a teaspoon adds an umami depth that’s subtle but transformative — a trick borrowed from restaurant kitchens that makes people wonder what makes it taste so good.
  • Go dairy-free if needed. Swap the butter for olive oil, the heavy cream for full-fat coconut cream or a good oat-based barista cream, and the Gruyère for a dairy-free shredded cheese. The texture is slightly different but still genuinely delicious.
  • Love casserole-style bakes? Our King Ranch Chicken Casserole and Chicken Pot Pie Casserole follow a similar build-and-bake formula and are perfect for feeding a crowd any time of year.
  • Add protein if you want a main dish. Stir in two cups of shredded rotisserie chicken or crispy bacon bits to transform this side into a full dinner casserole.
  • For extra crunch, broil the top. In the last 2–3 minutes of baking, switch your oven to broil and watch closely. The onion topping goes from golden to perfect to burnt very quickly — stand by.

Nutritional Highlights

This from-scratch Green Bean Casserole is meaningfully more nourishing than its canned-soup counterpart — and that’s not just a health-blogger talking point, it’s real. Green beans are an excellent source of vitamin K, vitamin C, and folate, and they provide a solid dose of dietary fiber that supports digestive health. The cremini mushrooms add B vitamins — particularly riboflavin and niacin — along with selenium and potassium. Because we’re building the sauce from scratch, we also control the sodium level, which in traditional versions can be quite high from canned condensed soups. Bon Appétit notes that Thanksgiving sides are often the most vegetable-forward dishes on the holiday table, and this one is no exception — green beans are the star, not just a vehicle for cream. Each serving provides a satisfying balance of fiber-rich vegetables, healthy fats from quality dairy, and just enough indulgence to make it feel like the celebration it’s meant to be. When you’re building a balanced holiday plate, this casserole earns its spot without apology.

Frequently Asked Questions

Can I make Green Bean Casserole ahead of time?

Yes, and it’s actually one of the best make-ahead Thanksgiving sides you can have in your arsenal. You can fully assemble the casserole — green beans, mushroom sauce, and all — up to 24 hours in advance. Cover it tightly with plastic wrap or foil and refrigerate. The one thing you should hold back: the crispy onion topping. Add those just before baking so they stay crunchy rather than steaming and softening overnight in the fridge. When you’re ready to bake, let the casserole sit at room temperature for about 20–30 minutes before it goes into the oven so it heats evenly all the way through.

Can I use frozen green beans instead of fresh?

You can, and plenty of great cooks do — especially when fresh beans are out of season or time is short. The key difference is texture: frozen green beans have already been blanched before freezing, so they’ll be softer after baking. If you use frozen, thaw them completely and pat them very dry with paper towels before adding them to the sauce. Skipping the blanching step (since they’re already partially cooked) will help prevent them from becoming too soft. Fresh green beans will always give you the best snap and color, but this recipe is forgiving enough to work beautifully with frozen in a pinch.

How do I store and reheat leftover Green Bean Casserole?

Store leftovers in an airtight container in the refrigerator for up to 4 days. For reheating, the oven is your best friend — spread the casserole in a baking dish, cover loosely with foil, and warm at 350°F for about 15–20 minutes until heated through. Remove the foil for the last 5 minutes to re-crisp the onion topping as much as possible. The microwave works if you’re in a hurry, but the onions will lose their crunch. You can refresh the topping by adding a small handful of freshly fried or store-bought crispy onions right before serving to bring back some of that texture contrast.

A close-up spoonful of green bean casserole being lifted from the dish, showing the creamy mushroom sauce coating the bright green beans and golden crispy onions on top

Bring This to the Table — Then Share It

This from-scratch Green Bean Casserole is the kind of recipe that quietly becomes a family tradition. It takes a little more effort than opening a can, but that effort shows up in every single bite — in the silky depth of the mushroom sauce, in the satisfying crunch of a properly fried onion, in the bright freshness of a green bean that wasn’t cooked into submission. It’s a dish that respects its ingredients and rewards the people eating it.

Whether this is your first Thanksgiving hosting or your thirtieth, this recipe deserves a permanent spot on your table. Make it once and you’ll understand why the from-scratch version isn’t just better — it’s the one you’ll want to make every year. If you loved this recipe, save it to your Pinterest boards, share it with your holiday planning group chat, or leave a comment below telling us how it turned out. We read every single one, and your kitchen wins genuinely make our day.

Find the complete recipe card below ↓

Green Bean Casserole

A from-scratch Green Bean Casserole featuring a deeply savory homemade mushroom cream sauce, bright blanched green beans, and shatteringly crispy fried onions — the Thanksgiving classic the way it was always meant to taste.

⏱ Prep: 25 min 🍳 Cook: 40 min ⏰ Total: 65 min 🍽 Serves: 8 🔥 Calories: 285 📊 Difficulty: Medium

Ingredients

  • 2 lbs fresh green beans (trimmed and halved crosswise)
  • 2 large yellow onions (thinly sliced into rings, about 1/8-inch thick)
  • 1 cup all-purpose flour
  • 1 tsp garlic powder
  • 1 tsp salt
  • 1/2 tsp black pepper
  • 2 cups vegetable oil (for frying)
  • 4 tbsp unsalted butter (divided)
  • 1 lb cremini mushrooms (cleaned and thinly sliced)
  • 4 cloves garlic (minced)
  • 1 medium shallot (finely diced)
  • 1 tsp fresh thyme leaves (or 1/2 tsp dried thyme)
  • 3 tbsp all-purpose flour
  • 1.5 cups vegetable broth (low-sodium)
  • 1 cup heavy cream
  • 1 tsp soy sauce (for umami depth)
  • 1/2 tsp salt (or to taste)
  • 1/4 tsp black pepper
  • 3/4 cup Gruyère cheese (shredded, divided (optional but highly recommended))

Instructions

  1. Bring a large pot of heavily salted water to a boil. Add the trimmed green beans and blanch for exactly 4 minutes.
  2. While beans blanch, prepare a large bowl of ice water. Drain the beans and immediately transfer them to the ice bath to stop cooking. Once cool, drain well and pat dry with paper towels. Set aside.
  3. In a shallow bowl, whisk together the flour, garlic powder, salt, and pepper. Toss the onion rings in the seasoned flour until well coated, shaking off any excess.
  4. Heat vegetable oil in a heavy-bottomed skillet or Dutch oven over medium-high heat until it reaches 350°F. Working in small batches, fry the onion rings for 2–3 minutes per batch, stirring gently, until deeply golden and crispy.
  5. Remove with a slotted spoon and drain on a paper towel-lined wire rack. Season lightly with salt immediately. Set aside. Reserve about 1 cup of the crispiest onions for the topping.
  6. Preheat your oven to 375°F. Grease a 9×13-inch baking dish and set aside.
  7. In a large oven-safe skillet or wide saucepan, melt 2 tablespoons of butter over medium-high heat until foaming subsides. Add the sliced mushrooms in a single layer. Cook undisturbed for 3–4 minutes until deeply golden on one side, then stir and cook another 2 minutes. Season with salt and pepper.
  8. Add the remaining 2 tablespoons of butter, then add the diced shallot and garlic. Cook for 2 minutes until softened and fragrant. Add the fresh thyme.
  9. Sprinkle the flour over the mushroom mixture and stir constantly for 1–2 minutes to cook out the raw flour taste.
  10. Gradually pour in the vegetable broth while stirring continuously to prevent lumps. Then pour in the heavy cream and soy sauce. Bring to a gentle simmer, stirring, until the sauce thickens enough to coat the back of a spoon, about 4–5 minutes.
  11. Remove from heat. Stir in half the shredded Gruyère if using. Taste and adjust seasoning with salt and pepper.
  12. Add the blanched, dried green beans to the mushroom cream sauce and toss gently until every bean is well coated.
  13. Transfer the mixture to the prepared baking dish and spread into an even layer. Scatter the remaining Gruyère over the top.
  14. Bake uncovered at 375°F for 20 minutes, until the sauce is bubbling around the edges.
  15. Remove from the oven and scatter the reserved crispy fried onions evenly over the top. Return to the oven for an additional 5 minutes until the onions are golden and sizzling.
  16. For extra crunch, switch the oven to broil for the final 2–3 minutes, watching closely to prevent burning. Let rest 5 minutes before serving.
Notes: Make-ahead: Assemble the casserole without the crispy onion topping, cover, and refrigerate up to 24 hours. Let sit at room temperature 20–30 minutes before baking. Add crispy onions just before the final 5 minutes of baking. Storage: Leftovers keep in an airtight container in the refrigerator for up to 4 days. Reheat in a 350°F oven covered with foil for 15–20 minutes. Add fresh crispy onions when serving to restore crunch. Dairy-free option: Use olive oil instead of butter, full-fat coconut cream instead of heavy cream, and omit or substitute the Gruyère with a dairy-free alternative.