A few weeks back, I was at my local library’s used book saleโyou know the kind, where the smell of old paper hits you the second you walk in. I was digging through a box of beat-up cookbooks from the 1970s, honestly just looking for something with decent pictures. That’s when this quiet older gentleman, probably in his late seventies, shuffled over and handed me a stained, spiral-bound booklet. “This one’s got the real stuff,” he said, and just walked away. I flipped it open, and there, tucked between a recipe for something called “Jell-O Surprise” and another for “Quick Tuna Casserole,” was a handwritten note on yellowed notebook paper. It was someone’s green bean casserole recipe, but not the kind with the canned soup and those crispy onions from a bag. This was a scratch-made version, with fresh mushrooms and real cream. I almost put it back, I mean, who trusts a recipe from a stranger at a book sale? But something made me keep it.
That night, I made it. And honestly? It was a total mess the first time. I burned the roux, the cream curdled a little, and I may have used a few choice words. But the flavorโthat deep, earthy, cozy flavorโwas something special. I’ve been tweaking it ever since, and this version, my “Cozy Holiday Green Bean Casserole from Scratch,” is the one I now bring to every Thanksgiving and Christmas dinner. It’s the dish that gets scraped clean, the one people ask for the recipe for. Maybe you’ve had that experience where a recipe finds you, not the other way around. This is that recipe for me. It’s rich, it’s creamy, it’s topped with the most incredible crispy shallots, and it doesn’t rely on a single can of soup. It’s the kind of side dish that steals the show, and I’m so excited to share it with you.
Why You’ll Love This Recipe
Look, I get it. The classic green bean casserole is a holiday staple for a reason. It’s easy, it’s nostalgic, and it’s what we grew up with. But this from-scratch version? It’s a whole different beast. It’s the same comforting spirit, but with layers of flavor that the canned stuff just can’t touch. Here’s why this will be your new go-to:
- Made from Real Ingredients: No cans of cream of mushroom soup here. We’re using fresh mushrooms, heavy cream, and real butter. You can taste the difference in every single bite.
- Crispy Shallot Topping That Stays Crunchy: Skip the store-bought fried onions. These homemade shallots are golden, crispy, and they actually stay crunchy even after the casserole sits. It’s a game-changer.
- Make-Ahead Friendly: You can prep the whole casserole a day in advance and just pop it in the oven before dinner. That’s less stress on the big day, and honestly, who doesn’t want that?
- Perfect for the Holidays: This dish was born for a holiday table. It’s rich, it’s festive, and it pairs perfectly with turkey, ham, or even a big roast. It’s the ultimate cozy side dish for Thanksgiving or Christmas.
- Crowd-Pleaser, Guaranteed: I’ve served this to picky eaters, mushroom-haters, and green-bean-skeptics. It disappears every single time. It’s comfort food that everyone can agree on.
- Unbelievably Delicious: The creamy, savory sauce with tender green beans and that crunchy shallot topping is pure magic. It’s the kind of dish that makes you close your eyes after the first bite. It’s comfort food reimaginedโricher, deeper, and more satisfying.
What Ingredients You Will Need
This recipe uses simple, honest ingredients to build big flavor. Most of these are pantry staples, and the few that aren’t are well worth the trip to the store. The quality of your ingredients really shines here, so let’s talk about what you’ll need.
For the Green Beans
- 1 ยฝ pounds fresh green beans, trimmed and halved: Look for beans that are bright green and snap when you bend them. Fresh is non-negotiable hereโfrozen or canned will turn to mush. I prefer thinner beans for a more tender result.
- Salt, for the blanching water: A generous amount of salt in the water seasons the beans from the inside out. Don’t skip this step!
For the Creamy Mushroom Sauce
- 3 tablespoons unsalted butter: I use Kerrygold for its rich flavor, but any good-quality butter works. Salted butter is fine too, just reduce the added salt later.
- 1 pound cremini mushrooms, sliced: Cremini (or baby bella) mushrooms have a deeper, earthier flavor than white buttons. You can use a mix of wild mushrooms like shiitake or oyster for a more gourmet touch.
- 1 medium yellow onion, finely diced: About 1 cup. The onion adds a savory sweetness that builds the base of the sauce.
- 3 cloves garlic, minced: Fresh garlic is a must. The jarred stuff just won’t give you the same punch.
- ยผ cup all-purpose flour: This thickens the sauce. For a gluten-free option, use a 1:1 gluten-free flour blend or cornstarch slurry (2 tablespoons cornstarch mixed with ยผ cup cold water).
- 2 cups heavy cream: This is what makes the sauce so luscious. For a lighter version, you can use half-and-half, but it won’t be quite as thick.
- 1 cup low-sodium chicken or vegetable broth: Low-sodium is key so you can control the salt level. Vegetable broth keeps it vegetarian.
- 1 teaspoon dried thyme: Thyme and mushrooms are a classic pairing. Fresh thyme is even betterโuse about 1 tablespoon of fresh leaves.
- ยฝ teaspoon black pepper, freshly ground: Freshly ground pepper makes a difference. Don’t use the pre-ground stuff.
- ยฝ teaspoon salt, plus more to taste: I use fine sea salt. Start with less and adjust at the end.
- ยผ cup dry sherry or white wine (optional): This adds a lovely depth of flavor. If you don’t cook with alcohol, just leave it out. No need to substitute.
For the Crispy Shallot Topping
- 3 large shallots, thinly sliced into rings: Shallots are milder and sweeter than onions, and they crisp up beautifully. Use a mandoline for even slices if you have one.
- ยฝ cup all-purpose flour: For dredging. Again, a gluten-free flour blend works great here.
- ยฝ teaspoon salt: For seasoning the flour.
- ยผ teaspoon black pepper: A little kick in the coating.
- Vegetable or canola oil, for frying: You need about 1 inch of oil in your pot. A neutral oil with a high smoke point is best.
Equipment Needed
You don’t need a fancy kitchen to make this casserole, but having the right tools makes the process so much smoother. Here’s what you’ll need:
- Large pot: For blanching the green beans. A 6- to 8-quart pot is perfect.
- Large skillet or sautรฉ pan: A 12-inch skillet with high sides is ideal for making the mushroom sauce. A stainless steel or cast iron pan works best for browning.
- 9×13-inch baking dish: This is the standard size for a holiday casserole. A 3-quart dish works too.
- Colander: For draining the blanched green beans.
- Sharp knife and cutting board: You’ll be doing a fair amount of chopping, so a good knife is your best friend.
- Wooden spoon or silicone spatula: For stirring the sauce. A wooden spoon is great for scraping up the browned bits from the pan.
- Small pot or deep saucepan: For frying the shallots. A 2-quart pot is plenty.
- Slotted spoon or spider strainer: For removing the fried shallots from the oil.
- Paper towels: For draining the shallots.
- Measuring cups and spoons: Accuracy matters, especially with the flour and cream.
- Whisk: For making sure the flour incorporates smoothly into the cream.
If you don’t have a mandoline for slicing the shallots, just use a sharp knife and try to get the slices as even as possible. And honestly, a good set of tongs is always helpful for tossing the green beans with the sauce.
Preparation Method
Alright, let’s get cooking! This recipe has a few steps, but I promise they’re all straightforward. Take your time, and don’t rush the browningโthat’s where the flavor lives.
- Preheat and Prep: Preheat your oven to 375ยฐF (190ยฐC). Grease your 9×13-inch baking dish with a little butter or non-stick spray. Set it aside.
- Blanch the Green Beans: Bring a large pot of salted water to a rolling boil. Add the trimmed green beans and cook for exactly 3 minutes. You want them bright green and still crisp-tender. Drain them immediately in a colander and then plunge them into a bowl of ice water to stop the cooking. This is called “shocking” them, and it keeps that beautiful color. Drain well and pat dry with a clean kitchen towel.
- Start the Shallots: While the beans are cooling, get your shallots ready. In a shallow bowl, whisk together the ยฝ cup of flour, ยฝ teaspoon of salt, and ยผ teaspoon of pepper. Toss the shallot rings in the flour mixture until they’re well coated. Shake off any excess flour.
- Fry the Shallots: Pour about 1 inch of vegetable oil into a small, deep pot. Heat it over medium-high heat until it reaches 350ยฐF (175ยฐC). If you don’t have a thermometer, drop a shallot ring inโit should sizzle immediately. Working in batches, fry the shallots for 2-3 minutes, stirring occasionally, until they’re golden brown and crispy. Be careful, they can burn quickly! Use a slotted spoon to transfer them to a paper towel-lined plate. Sprinkle with a tiny pinch of salt while they’re still warm. Set aside.
- Sautรฉ the Mushrooms: In your large skillet, melt the 3 tablespoons of butter over medium-high heat. Add the sliced mushrooms and cook, without stirring too much, for about 5-7 minutes, until they’re deeply browned and have released their liquid. You want a good sear on them. Add the diced onion and cook for another 3-4 minutes, until softened. Stir in the minced garlic and cook for just 30 seconds until fragrant.
- Make the Roux: Sprinkle the ยผ cup of flour over the mushroom mixture. Stir constantly with your wooden spoon for about 1-2 minutes. This cooks the raw flour taste out and creates a thick paste. It should smell a little nutty.
- Build the Sauce: Slowly pour in the heavy cream and broth while whisking constantly to prevent lumps. Add the dried thyme, black pepper, and the ยฝ teaspoon of salt. If you’re using the sherry or white wine, add it now. Bring the sauce to a gentle simmer, then reduce the heat to low. Let it cook for 5-7 minutes, stirring occasionally, until it has thickened enough to coat the back of a spoon. Taste it and adjust the salt and pepper. Remember, the shallots are salty too.
- Combine and Assemble: Add the blanched and dried green beans to the skillet with the sauce. Gently toss everything together until the beans are well coated. Pour the entire mixture into your prepared baking dish and spread it into an even layer.
- Bake: Place the casserole in the preheated oven and bake for 20-25 minutes, until the sauce is bubbly and hot all the way through.
- Top and Serve: Remove the casserole from the oven and immediately sprinkle the crispy fried shallots all over the top. Let it rest for about 5 minutes before serving. This allows the sauce to set up just a little. Serve hot!
Cooking Tips & Techniques
I’ve made this casserole more times than I can count, and I’ve learned a thing or two along the way. Here are my best tips for getting it perfect every time.
Don’t Overcook the Green Beans: The 3-minute blanch is crucial. If you cook them longer, they’ll be mushy after baking. You want them to have a little bite. Shocking them in ice water is non-negotiableโit stops the cooking instantly and locks in that vibrant green color.
Get a Good Sear on the Mushrooms: This is where most of the flavor comes from. Don’t crowd the pan! If you add too many mushrooms at once, they’ll steam instead of brown. Cook them in a single layer and let them sit undisturbed for a few minutes before stirring. That deep brown color is pure umami.
Patience with the Roux: When you add the flour to the butter and mushrooms, keep stirring for a full 2 minutes. I’ve rushed this step before, and the sauce ended up tasting like raw flour. Cooking it out is worth the extra minute.
Low and Slow for the Sauce: When you add the cream and broth, bring it to a simmer gently. A rapid boil can cause the cream to curdle. I learned this the hard way when I was in a hurry one Thanksgiving. Keep the heat low and stir often.
Frying Shallots at the Right Temperature: If your oil isn’t hot enough, the shallots will absorb oil and be greasy. If it’s too hot, they’ll burn before they’re cooked through. 350ยฐF (175ยฐC) is the sweet spot. And fry them in small batchesโovercrowding drops the oil temperature.
Make It Ahead of Time: This is a lifesaver for holidays. Assemble the casserole completely (without the shallots) up to 24 hours in advance. Cover it and store it in the fridge. When you’re ready to bake, add about 10-15 minutes to the baking time since it’s starting from cold. Add the shallots right before serving.
Variations & Adaptations
This recipe is a fantastic base, and it’s easy to tweak it to fit your needs or what you have on hand. Here are some of my favorite variations.
Gluten-Free Version: This is super simple. Use a good quality 1:1 gluten-free flour blend for both the roux and the shallot coating. I’ve used Bob’s Red Mill and Cup4Cup with great results. The texture is slightly different, but it’s still delicious and creamy.
Dairy-Free Version: Swap the butter for a plant-based butter (I like Miyoko’s or Earth Balance) and use full-fat canned coconut milk or a thick cashew cream instead of the heavy cream. The sauce will have a subtle coconut flavor, which actually pairs beautifully with the mushrooms. Use vegetable broth to keep it vegetarian.
Add Some Protein: This casserole is hearty enough to be a main dish if you add some cooked protein. Toss in 2 cups of shredded rotisserie chicken or cooked crumbled sausage. I’ve also added crispy bacon bits to the topping for an extra smoky crunch. It’s amazing.
Change Up the Mushrooms: Cremini are great, but don’t be afraid to experiment. A mix of shiitake, oyster, and maitake mushrooms will give you a more complex, earthy flavor. Just make sure to slice them all to a similar thickness so they cook evenly.
Roasted Green Beans: For a deeper, slightly charred flavor, skip the blanching and roast the green beans instead. Toss them with a little olive oil and salt, then roast at 425ยฐF (220ยฐC) for 15-20 minutes until they’re tender and starting to brown. Then proceed with the recipe.
Spicy Kick: If you like a little heat, add a pinch of red pepper flakes to the sauce along with the garlic. It won’t make the casserole spicy, but it’ll add a lovely warmth that lingers in the background.
Serving & Storage Suggestions
This casserole is a star on any holiday table, but it’s also wonderful with a simple weeknight dinner. Here’s how to serve it and what to do with the leftovers.
Serving: Serve the casserole hot, straight from the oven. The shallots will be at their crispiest right after you add them. I like to spoon it into a large, shallow serving bowl so everyone can see those beautiful layers. It pairs perfectly with roasted turkey, honey-glazed ham, or even a simple roast chicken. For a complete holiday meal, serve it alongside mashed potatoes, cranberry sauce, and some warm dinner rolls.
Storage: Leftovers can be stored in an airtight container in the refrigerator for up to 4 days. The shallots will lose their crunch, but the flavor will still be fantastic. I actually love the leftovers the next dayโthe flavors meld together even more.
Reheating: The best way to reheat this is in the oven. Place the casserole in a 350ยฐF (175ยฐC) oven for 15-20 minutes, until heated through. You can also reheat individual portions in the microwave, but the sauce might get a little watery. If you want to revive the crunch, you can sprinkle a few fresh fried shallots on top after reheating.
Freezing: You can freeze the assembled casserole (without the shallots) for up to 3 months. Thaw it overnight in the refrigerator, then bake as directed, adding about 10 minutes to the baking time. Do not freeze the fried shallotsโthey’ll become soggy. Make a fresh batch when you’re ready to serve.
Nutritional Information & Benefits
This is a holiday indulgence, so it’s not light, but it does have some redeeming qualities. Here’s a rough estimate of the nutritional breakdown per serving (based on 8 servings).
| Nutrient | Amount Per Serving |
|---|---|
| Calories | ~320 |
| Fat | 22g |
| Saturated Fat | 13g |
| Carbohydrates | 24g |
| Fiber | 4g |
| Sugar | 6g |
| Protein | 7g |
| Sodium | 480mg |
Health Highlights: Green beans are a good source of vitamins A, C, and K, as well as fiber. Mushrooms are one of the few natural food sources of vitamin D, and they’re also packed with antioxidants. The shallots are a member of the allium family, which are known for their anti-inflammatory properties. So while this is definitely a treat, it’s not completely devoid of nutritional value!
Dietary Considerations: This recipe is vegetarian as written. For a vegan or dairy-free version, see the variations section. It contains gluten (from the flour) and dairy (from the butter and cream).
Conclusion
This Cozy Holiday Green Bean Casserole from Scratch is more than just a side dishโit’s a labor of love that pays off in every single bite. It’s the kind of recipe that makes you proud to bring to the table, the one that gets asked for year after year. I know making it from scratch takes a little more time than opening a couple of cans, but trust me, the flavor is worth every minute. The creamy, savory sauce, the tender green beans, and that incredible crunch from the fried shallotsโit’s a combination that just works.
I really hope you give this recipe a try, whether it’s for a big holiday feast or a cozy Sunday dinner. And don’t be afraid to make it your ownโswap in different mushrooms, add some bacon, or go dairy-free. Cooking is all about making a recipe fit your life. If you make it, I’d love to hear how it turned out! Leave a comment below and let me know if it earned a spot on your holiday table. Happy cooking, friends!
Frequently Asked Questions
Can I use frozen green beans instead of fresh?
I really don’t recommend it for this recipe. Frozen green beans have a much higher water content, and they’ll release that water as they bake, making the sauce thin and watery. Fresh green beans give you the best texture and flavor. If you’re in a pinch, you can use frozen, but blanch them for only 1 minute and squeeze them dry very well.
Can I make the crispy shallots in an air fryer?
Yes, you can! Toss the sliced shallots with a tablespoon of oil and a pinch of salt, then spread them in a single layer in the air fryer basket. Cook at 350ยฐF (175ยฐC) for 8-10 minutes, shaking the basket halfway through, until they’re golden and crispy. Keep an eye on them, as they can burn quickly.
Why did my sauce turn out lumpy?
Lumpy sauce usually happens when the flour isn’t incorporated properly. Make sure you whisk the flour into the butter and mushroom mixture for a full 2 minutes to create a smooth roux. When you add the liquid, pour it in slowly while whisking constantly. If you still get lumps, you can use an immersion blender to smooth it out, or strain it through a fine-mesh sieve.
Can I double this recipe for a larger crowd?
Absolutely! This recipe doubles beautifully. Just make sure you use a larger skillet for the mushroom sauce, or cook it in two batches to avoid overcrowding the pan. You’ll need a larger baking dish tooโa 10×15-inch dish or two 9×13-inch dishes. The baking time will be about the same, but check it a few minutes early.
How do I keep the shallots crispy if I’m making them ahead?
Fried shallots are best fresh, but you can make them a few hours in advance. Let them cool completely on a paper towel, then store them in an airtight container at room temperature. Do not refrigerate them, as the moisture will make them soft. For the crispiest results, reheat them in a 300ยฐF (150ยฐC) oven for 3-5 minutes right before you add them to the casserole.
Pin This Recipe!
Easy Homemade Green Bean Casserole: Perfect Holiday Side
- Total Time: 50 minutes
- Yield: 8 servings 1x
Description
A from-scratch green bean casserole with fresh mushrooms, real cream, and crispy homemade shallots. This rich, creamy side dish is perfect for Thanksgiving or Christmas and is sure to be a crowd-pleaser.
Ingredients
- 1 ยฝ pounds fresh green beans, trimmed and halved
- Salt, for the blanching water
- 3 tablespoons unsalted butter
- 1 pound cremini mushrooms, sliced
- 1 medium yellow onion, finely diced
- 3 cloves garlic, minced
- ยผ cup all-purpose flour
- 2 cups heavy cream
- 1 cup low-sodium chicken or vegetable broth
- 1 teaspoon dried thyme
- ยฝ teaspoon black pepper, freshly ground
- ยฝ teaspoon salt, plus more to taste
- ยผ cup dry sherry or white wine (optional)
- 3 large shallots, thinly sliced into rings
- ยฝ cup all-purpose flour (for shallots)
- ยฝ teaspoon salt (for shallots)
- ยผ teaspoon black pepper (for shallots)
- Vegetable or canola oil, for frying
Instructions
- Preheat your oven to 375ยฐF (190ยฐC). Grease a 9×13-inch baking dish with butter or non-stick spray.
- Bring a large pot of salted water to a rolling boil. Add the trimmed green beans and cook for exactly 3 minutes. Drain and plunge into ice water to stop cooking. Drain well and pat dry.
- In a shallow bowl, whisk together ยฝ cup flour, ยฝ teaspoon salt, and ยผ teaspoon pepper. Toss shallot rings in the flour mixture until well coated. Shake off excess.
- Pour about 1 inch of vegetable oil into a small, deep pot. Heat over medium-high heat to 350ยฐF (175ยฐC). Fry shallots in batches for 2-3 minutes until golden brown and crispy. Transfer to a paper towel-lined plate and sprinkle with a pinch of salt. Set aside.
- In a large skillet, melt 3 tablespoons butter over medium-high heat. Add sliced mushrooms and cook without stirring too much for 5-7 minutes until deeply browned. Add diced onion and cook 3-4 minutes until softened. Stir in minced garlic and cook 30 seconds until fragrant.
- Sprinkle ยผ cup flour over the mushroom mixture. Stir constantly for 1-2 minutes to cook the flour.
- Slowly pour in heavy cream and broth while whisking constantly. Add dried thyme, black pepper, and ยฝ teaspoon salt. If using, add sherry or white wine. Bring to a gentle simmer, then reduce heat to low. Cook for 5-7 minutes, stirring occasionally, until thickened. Adjust salt and pepper to taste.
- Add blanched green beans to the skillet with the sauce. Gently toss to coat. Pour into the prepared baking dish and spread evenly.
- Bake for 20-25 minutes until bubbly and hot.
- Remove from oven and immediately sprinkle crispy fried shallots on top. Let rest for 5 minutes before serving. Serve hot.
Notes
For make-ahead: Assemble casserole (without shallots) up to 24 hours in advance, cover and refrigerate. Add 10-15 minutes to baking time. For gluten-free: Use 1:1 gluten-free flour blend for roux and shallot coating. For dairy-free: Use plant-based butter and full-fat coconut milk or cashew cream. For extra protein: Add shredded rotisserie chicken or cooked sausage. For spicy kick: Add red pepper flakes with garlic.
- Prep Time: 20 minutes
- Cook Time: 30 minutes
- Category: Side Dish
- Cuisine: American
Nutrition
- Serving Size: 1 serving (about 1 c
- Calories: 320
- Sugar: 6
- Sodium: 480
- Fat: 22
- Saturated Fat: 13
- Carbohydrates: 24
- Fiber: 4
- Protein: 7
Keywords: green bean casserole, holiday side dish, Thanksgiving, Christmas, from scratch, creamy mushroom sauce, crispy shallots





