Written by

Lisa Anderson

Published

Cozy Green Bean Casserole from Scratch with Crispy Shallots

Ready In 60 minutes
Servings 8 servings
Difficulty Medium

Love this? Save it for later!

Share the inspiration with your friends

This was supposed to be a completely different side dish. I had it all planned out in my head—a bright, lemony, spring-forward kind of thing with haricots verts and toasted almonds. Something light and elegant. But it was a freezing Tuesday in November, the kind of day where the sky never really got light, and I was already running late from a work call that ran over. I grabbed the wrong bag of frozen green beans from the back of the freezer (the standard cut ones, not the fancy French kind), and my shallots, which were supposed to be thinly sliced and raw for a salad, were starting to look a little sad. I had no lemons. I was, honestly, a little panicked.

So I did what any reasonable person would do when their beautiful plan falls apart: I threw everything in a pan with some butter and hoped for the best. The result was nothing like the spring dish I had envisioned. It was rich, it was creamy, it was deeply savory, and it had these golden, crispy shallots on top that I just couldn’t stop eating straight from the pan. It was, as my grandmother would say, a “happy little accident.” And let me tell you, it was way better than the original idea. Maybe you’ve been there—you try to be fancy, and the recipe fights you, and what you end up with is just pure, unapologetic comfort. That’s this green bean casserole.

I’ve made it every Thanksgiving since, and plenty of regular weeknights too. It’s the dish that taught me to stop panicking when things go sideways in the kitchen. Sometimes the best recipes are the ones you stumble into. This cozy green bean casserole from scratch with crispy shallots is proof that a happy accident can become a new tradition.

Why You’ll Love This Recipe

Let’s be real—there’s a reason green bean casserole is a holiday staple. But this version? It takes everything you love about the classic and makes it feel like a warm hug. It’s the kind of dish you make when you want to impress people without actually stressing out.

  • Totally From Scratch: No canned soups here. We’re building a rich, velvety mushroom sauce that tastes like it simmered all day (spoiler: it only takes 20 minutes).
  • Simple Ingredients: You probably have butter, cream, mushrooms, and green beans in your kitchen right now. No weird processed stuff needed.
  • Perfect for Cozy Nights: Whether it’s a holiday feast or a cold Tuesday when you need comfort food, this casserole delivers that soul-soothing satisfaction every time.
  • Crowd-Pleaser: I’ve served this to picky kids, vegan friends (with a few swaps), and my uncle who “doesn’t do vegetables.” It disappears every single time.
  • Unbelievably Delicious: The creamy sauce coats each tender green bean, and those crispy shallots on top? They add a crunch that makes this dish next-level. Honestly, you might eat half the topping before it hits the table.

What makes this recipe different from the rest is the technique. Instead of a gloppy, one-note sauce, we’re building layers of flavor—sautéing the mushrooms until they’re deeply browned, deglazing with a splash of white wine, and finishing with fresh thyme. It’s not just another version; it’s the best version. And the first time you take a bite, you’ll close your eyes and wonder why you ever made it any other way.

What Ingredients You Will Need

This recipe uses simple, wholesome ingredients to create a cozy, deeply flavorful casserole. Most of these are pantry staples, which makes it perfect for when you need comfort food on a whim.

  • Fresh green beans (1 ½ lbs, trimmed and halved) – Look for bright, crisp beans without any brown spots. Fresh really does make a difference here for texture.
  • Cremini mushrooms (8 oz, sliced) – Also called baby bellas. They have more flavor than white button mushrooms. I personally prefer them for a deeper, earthier sauce.
  • Unsalted butter (4 tbsp, divided) – We use half for the mushrooms and half for the roux. If you only have salted butter, just reduce the added salt a bit.
  • All-purpose flour (3 tbsp) – This thickens the creamy sauce. For a gluten-free version, you can use a 1:1 gluten-free flour blend.
  • Whole milk (1 cup) – Adds richness. You can use 2% or even oat milk in a pinch, but whole milk gives the creamiest result.
  • Heavy cream (½ cup) – This is what makes the sauce velvety and luxurious. Don’t skip it!
  • Low-sodium chicken or vegetable broth (1 cup) – I like using Better Than Bouillon for the best flavor. Use vegetable broth to keep it vegetarian.
  • Dry white wine (¼ cup) – Optional, but it adds a lovely acidity that balances the richness. Use a Sauvignon Blanc or Pinot Grigio.
  • Fresh thyme (1 tsp, chopped) – Earthy and aromatic. Dried thyme works too (use ½ tsp), but fresh is better here.
  • Garlic (3 cloves, minced) – Because garlic makes everything better.
  • Salt and black pepper (to taste) – Simple seasonings that let the other flavors shine.
  • For the Crispy Shallots:
    • Large shallots (3-4, thinly sliced into rings) – Look for firm shallots with papery skin.
    • All-purpose flour (½ cup) – For dredging.
    • Neutral oil (for frying, like vegetable or canola) – About 1 cup, enough for shallow frying.
    • Salt (a pinch) – For seasoning right out of the oil.

Ingredient Selection Tips: When picking shallots, choose ones that feel heavy for their size and have no soft spots. For the green beans, I recommend Melissa’s Produce if you can find them—they’re always super fresh. In the summer, feel free to swap in fresh-picked beans from the farmer’s market; they’ll be even sweeter.

Equipment Needed

You don’t need a fancy kitchen to make this cozy green bean casserole from scratch with crispy shallots. Here’s what you’ll need:

  • Large pot (for blanching the green beans)
  • Large skillet or sauté pan (for the mushroom sauce)
  • Small saucepan (for frying the shallots, or you can use the same skillet)
  • 9×13-inch baking dish (or any 2-quart casserole dish)
  • Slotted spoon (for removing the crispy shallots from the oil)
  • Whisk (for making the roux and creamy sauce)
  • Sharp knife and cutting board
  • Paper towels (for draining the shallots)

If you don’t have a 9×13 dish, you can use a 10-inch cast iron skillet for a more rustic look—just make sure it’s oven-safe. For the shallots, a spider strainer works great, but a regular slotted spoon does the job just fine. I’ve made the crispy shallots in a small pot with just ½ inch of oil, and it works perfectly. No deep fryer needed.

Preparation Method

green bean casserole from scratch preparation steps

  1. Preheat your oven to 375°F (190°C). Get this going first so it’s ready when you are.

  2. Blanch the green beans. Bring a large pot of salted water to a boil. Add the trimmed green beans and cook for 3-4 minutes, until they’re bright green and just tender-crisp. Don’t overcook them—they’ll finish in the oven. Drain and immediately transfer them to a bowl of ice water to stop the cooking process. Drain again and set aside.

  3. Make the crispy shallots. While the beans are cooling, heat about 1 inch of neutral oil in a small saucepan over medium heat. Toss the thinly sliced shallots with the ½ cup of flour until they’re well coated. Shake off any excess flour. Fry the shallots in batches (don’t crowd the pan) for 2-3 minutes, stirring occasionally, until they turn golden brown. Use a slotted spoon to transfer them to a paper towel-lined plate. Sprinkle with a pinch of salt while they’re still hot. They’ll crisp up as they cool.

  4. Sauté the mushrooms. In a large skillet, melt 2 tablespoons of butter over medium-high heat. Add the sliced cremini mushrooms and cook for 5-6 minutes, stirring occasionally, until they release their liquid and start to brown. You want a deep golden color here—that’s flavor. Add the minced garlic and cook for 30 seconds until fragrant.

  5. Deglaze the pan. Pour in the white wine (if using) and scrape up any browned bits from the bottom of the pan. Let the wine cook down for about 1 minute, until it’s mostly evaporated.

  6. Make the roux. Reduce the heat to medium. Add the remaining 2 tablespoons of butter to the skillet. Once it’s melted, sprinkle the 3 tablespoons of flour over the mushrooms and stir constantly for 1-2 minutes. The mixture should look like a thick paste.

  7. Build the creamy sauce. Slowly pour in the chicken broth while whisking continuously to prevent lumps. Then add the milk and heavy cream, still whisking. Bring the sauce to a gentle simmer—it will start to thicken after 2-3 minutes. Stir in the fresh thyme, and season with salt and black pepper to taste. The sauce should be thick enough to coat the back of a spoon.

  8. Combine everything. Add the blanched green beans to the skillet and toss gently to coat them in the sauce. Make sure every bean is covered in that creamy goodness.

  9. Transfer to the baking dish. Pour the green bean mixture into your prepared 9×13-inch baking dish and spread it into an even layer.

  10. Bake. Bake uncovered for 20-25 minutes, until the casserole is bubbly and the edges are just starting to brown.

  11. Top with crispy shallots. Remove the casserole from the oven and immediately sprinkle the crispy shallots all over the top. Let it rest for 5 minutes before serving. This gives the sauce a chance to set slightly.

Sensory Cues: When the mushrooms are ready, they should look shrunken and deeply browned, and the kitchen should smell nutty and earthy. The sauce is ready when it coats the back of your spoon and leaves a clear trail when you run your finger through it. The casserole is done when you see bubbles breaking through the surface around the edges.

Cooking Tips & Techniques

I’ve made this cozy green bean casserole from scratch with crispy shallots about a dozen times now, and I’ve learned a few things the hard way so you don’t have to.

Don’t skip the blanching step. I once tried to save time by tossing raw green beans straight into the sauce. They came out crunchy and unevenly cooked. Blanching them first ensures they’re perfectly tender-crisp and that bright green color stays intact.

Brown the mushrooms properly. This is where the flavor lives. If you crowd the pan or stir them too often, they’ll steam instead of brown. Give them space and let them sit for a minute or two before stirring. You want a deep, caramelized color—not pale and sad.

Watch the shallots carefully. They go from golden to burnt in about 10 seconds. I speak from experience—I was checking my phone and ended up with a batch of bitter, blackened shallots. Stay close to the pan, and pull them out as soon as they turn a light golden brown. They’ll continue to darken slightly as they cool.

Make the sauce ahead. If you’re prepping for a big meal, you can make the mushroom sauce up to 2 days in advance. Just store it in the fridge, and when you’re ready, gently reheat it before tossing with the blanched green beans. It actually gets more flavorful as it sits.

Double the crispy shallots. Trust me on this one. They’re so good that you’ll want extra for snacking, and they lose a bit of crunch after a day or two. Make a bigger batch and store the leftovers in an airtight container—they’re amazing on salads and soups too.

Variations & Adaptations

This recipe is wonderfully flexible. Here are a few ways to make it your own:

  • Make it vegetarian/vegan: Use vegetable broth instead of chicken broth, swap the butter for a good vegan butter (I like Miyoko’s), and use oat milk or full-fat coconut milk in place of the dairy. The creamy texture stays surprisingly similar.
  • Add protein: Toss in some cooked, crumbled bacon or pancetta along with the mushrooms for a smoky, savory twist. Or add shredded rotisserie chicken to turn it into a complete one-dish meal.
  • Switch up the mushrooms: Cremini are great, but a mix of shiitake, oyster, and cremini mushrooms adds even more depth. Just slice them all the same size for even cooking.
  • Go gluten-free: Use a 1:1 gluten-free flour blend for the roux and the shallot dredging. The sauce will be slightly less thick, but it still works beautifully.
  • Seasonal swap: In the summer, swap the green beans for fresh asparagus or snap peas. Blanch them the same way, and reduce the baking time by 5 minutes since they’re more delicate.

One of my favorite variations came from a friend who added a pinch of nutmeg to the creamy sauce. It sounds weird, but it adds this warm, cozy note that’s perfect for fall. I’ve been doing it ever since.

Serving & Storage Suggestions

This cozy green bean casserole from scratch with crispy shallots is best served warm, right out of the oven. Let it rest for 5 minutes after baking so the sauce sets up a bit—it makes serving cleaner and the flavors meld together beautifully.

Serving Ideas: It’s a natural side for roast chicken, turkey, or a juicy pork tenderloin. For a vegetarian main, serve it alongside a lentil loaf or stuffed acorn squash. A crisp green salad with a tangy vinaigrette cuts through the richness perfectly.

Storage: Leftovers keep in the fridge for up to 4 days in an airtight container. The crispy shallots will soften over time, so if you’re planning to have leftovers, store the shallots separately and add them just before reheating.

Reheating: The best way to reheat is in the oven at 350°F for 10-15 minutes, covered with foil to prevent drying out. You can also microwave individual portions, but the texture won’t be quite as good. If you want to bring back some crunch, sprinkle fresh crispy shallots on top after reheating.

Freezing: You can freeze the unbaked casserole (without the crispy shallots) for up to 3 months. Thaw it in the fridge overnight, then bake as directed, adding 10 minutes to the baking time. Add the shallots after baking.

Nutritional Information & Benefits

Here’s an approximate nutritional breakdown per serving (based on 8 servings):

Nutrient Amount per Serving
Calories 245
Total Fat 16g
Saturated Fat 8g
Carbohydrates 18g
Fiber 4g
Sugar 6g
Protein 6g
Sodium 480mg

Health Benefits: Green beans are packed with vitamin K, vitamin C, and fiber, which supports digestion and heart health. Mushrooms are a great source of B vitamins and selenium, an antioxidant that supports immune function. This dish is also lower in sugar than many holiday sides, and if you use the vegetable broth and plant-based swaps, it can easily fit into a vegan or dairy-free diet.

Dietary Considerations: This recipe contains dairy and gluten. For allergen-friendly options, see the variations section above. It’s naturally nut-free and egg-free.

Conclusion

This cozy green bean casserole from scratch with crispy shallots is proof that the best recipes often come from happy accidents. It’s creamy, savory, and topped with the most addictive crunchy shallots you’ll ever make. Whether you’re serving it at a holiday table or on a quiet weeknight when you need a little comfort, this dish delivers every single time.

I love how forgiving this recipe is. You can tweak the herbs, swap the mushrooms, or double the shallots (please do), and it still comes out perfect. It’s become my go-to for potlucks, Thanksgivings, and even just “I need a vegetable that feels like a hug” nights.

Now I want to hear from you! Have you tried making green bean casserole from scratch? What’s your favorite twist? Drop a comment below and let me know—I love seeing how you make this recipe your own. And if you share it on Pinterest, tag me so I can cheer you on!

Frequently Asked Questions

Can I use frozen green beans instead of fresh?

Yes, you can! Thaw them first and pat them dry to remove excess moisture. Reduce the blanching time to just 1-2 minutes since frozen beans are already partially cooked. The texture won’t be quite as crisp, but it still works great in a pinch.

Why did my sauce turn out lumpy?

Lumpy sauce usually happens when you add the liquid too quickly or don’t whisk enough. The trick is to pour the broth and milk in a slow, steady stream while whisking constantly. If you already have lumps, you can use an immersion blender to smooth it out—just don’t over-blend or it’ll get gummy.

Can I make this ahead of time?

Absolutely! Assemble the casserole (without the crispy shallots) up to 2 days in advance and keep it covered in the fridge. When you’re ready to bake, add about 10 minutes to the baking time since it’ll be cold from the fridge. Add the crispy shallots right before serving.

How do I get my shallots extra crispy?

The secret is to slice them very thinly and evenly—a mandoline slicer helps if you have one. Make sure the oil is hot enough (around 350°F) before adding them, and don’t overcrowd the pan. Pat them dry with paper towels after frying to remove any excess oil.

Can I skip the wine?

Yes, absolutely. The wine adds a subtle acidity that balances the richness, but you can replace it with an equal amount of additional chicken or vegetable broth. The dish will still be delicious—just a little less complex.

Pin This Recipe!

green bean casserole from scratch recipe

Print

Cozy Green Bean Casserole from Scratch with Crispy Shallots

A rich, creamy green bean casserole made entirely from scratch with a velvety mushroom sauce and topped with golden, crispy shallots. This comforting dish is perfect for holidays or cozy weeknights.

  • Author: Elara
  • Prep Time: 20 minutes
  • Cook Time: 30 minutes
  • Total Time: 50 minutes
  • Yield: 8 servings 1x
  • Category: Side Dish
  • Cuisine: American

Ingredients

Scale
  • 1 ½ lbs fresh green beans, trimmed and halved
  • 8 oz cremini mushrooms, sliced
  • 4 tbsp unsalted butter, divided
  • 3 tbsp all-purpose flour
  • 1 cup whole milk
  • ½ cup heavy cream
  • 1 cup low-sodium chicken or vegetable broth
  • ¼ cup dry white wine (optional)
  • 1 tsp fresh thyme, chopped
  • 3 cloves garlic, minced
  • Salt and black pepper to taste
  • 3–4 large shallots, thinly sliced into rings
  • ½ cup all-purpose flour (for dredging shallots)
  • Neutral oil (for frying, about 1 cup)

Instructions

  1. Preheat your oven to 375°F (190°C).
  2. Blanch the green beans: Bring a large pot of salted water to a boil. Add the trimmed green beans and cook for 3-4 minutes until bright green and tender-crisp. Drain and transfer to a bowl of ice water to stop cooking. Drain again and set aside.
  3. Make the crispy shallots: Heat about 1 inch of neutral oil in a small saucepan over medium heat. Toss the thinly sliced shallots with ½ cup flour until well coated. Shake off excess flour. Fry the shallots in batches for 2-3 minutes, stirring occasionally, until golden brown. Transfer to a paper towel-lined plate and sprinkle with a pinch of salt while hot.
  4. Sauté the mushrooms: In a large skillet, melt 2 tablespoons of butter over medium-high heat. Add the sliced cremini mushrooms and cook for 5-6 minutes until they release their liquid and start to brown. Add the minced garlic and cook for 30 seconds until fragrant.
  5. Deglaze the pan: Pour in the white wine (if using) and scrape up any browned bits. Let the wine cook down for about 1 minute until mostly evaporated.
  6. Make the roux: Reduce heat to medium. Add the remaining 2 tablespoons of butter. Once melted, sprinkle 3 tablespoons of flour over the mushrooms and stir constantly for 1-2 minutes until a thick paste forms.
  7. Build the creamy sauce: Slowly pour in the chicken broth while whisking continuously. Then add the milk and heavy cream, still whisking. Bring to a gentle simmer; the sauce will thicken after 2-3 minutes. Stir in the fresh thyme, and season with salt and black pepper to taste.
  8. Combine everything: Add the blanched green beans to the skillet and toss gently to coat them in the sauce.
  9. Transfer to the baking dish: Pour the green bean mixture into a 9×13-inch baking dish and spread into an even layer.
  10. Bake: Bake uncovered for 20-25 minutes until bubbly and the edges are just starting to brown.
  11. Top with crispy shallots: Remove from the oven and immediately sprinkle the crispy shallots all over the top. Let rest for 5 minutes before serving.

Notes

Don’t skip blanching the green beans for the best texture. Brown the mushrooms properly for deep flavor. Watch the shallots carefully as they burn quickly. The sauce can be made up to 2 days ahead. Double the crispy shallots for extra snacking.

Nutrition

  • Serving Size: 1 serving (about 1 c
  • Calories: 245
  • Sugar: 6
  • Sodium: 480
  • Fat: 16
  • Saturated Fat: 8
  • Carbohydrates: 18
  • Fiber: 4
  • Protein: 6

Keywords: green bean casserole, from scratch, crispy shallots, Thanksgiving side, comfort food, holiday recipe

Did you make this recipe?

Share a photo and tag us — we can't wait to see what you've made!

You might also love these recipes

Leave a Comment

Recipe rating ★☆ ★☆ ★☆ ★☆ ★☆