Love this? Save it for later!
Share the inspiration with your friends
This was supposed to be a completely different side dish. I had this grand vision for a roasted green bean salad with lemon vinaigrette and shaved parmesan — something light and elegant for a Friendsgiving I was hosting last November. But somewhere between the grocery store and my kitchen, the plan fell apart. I grabbed a bag of frozen pearl onions instead of fresh ones, my shallots got sliced way too thin for roasting, and honestly, I was already running thirty minutes behind because I’d forgotten to set my timer for the turkey brine. You know that feeling when everything starts slipping? I stood there staring at a mountain of thinly sliced shallots, a bag of frozen pearl onions, and green beans I’d already blanched, wondering what on earth I was going to do.
So I did what any reasonable person would do when a recipe goes sideways — I panicked for about two minutes, then I just started cooking. I tossed those paper-thin shallots into hot oil because they were too delicate for anything else. I grabbed the cream and mushrooms I had stashed for another recipe. And I just kept going, making it up as I went along, convinced I was creating a disaster. What came out of that oven was nothing like the plan — and better. It was rich, creamy, topped with these impossibly crispy shallots that shattered when you bit into them. My neighbor Carol, who has never complimented a single dish I’ve made in seven years, asked for the recipe before she even finished her first helping. That’s when I knew this Festive Green Bean Casserole from Scratch with Crispy Shallots was something special. It’s the dish I’ve made every holiday since, and honestly, it’s the happy accident I keep coming back to.
Why You’ll Love This Festive Green Bean Casserole from Scratch with Crispy Shallots
Let me tell you why this Festive Green Bean Casserole from Scratch with Crispy Shallots has become my signature holiday dish. It’s not just because it tastes incredible — though it absolutely does. It’s because this recipe solves every problem you’ve ever had with green bean casserole.
- No Canned Soup Here : We’re making a rich, homemade mushroom cream sauce from scratch. It’s velvety, deeply savory, and actually tastes like real mushrooms — not salty, gelatinous goo from a can.
- Those Crispy Shallots : Oh my goodness, the shallots. They’re not just a topping — they’re the star. Thinly sliced, fried until golden and shatteringly crisp, they add this incredible texture that store-bought fried onions simply cannot match.
- Simple Ingredients, Big Flavor : You probably have most of these ingredients in your kitchen right now. Fresh green beans, mushrooms, cream, butter, and shallots. No weird processed stuff, no artificial flavors.
- Perfect for Holiday Gatherings : This casserole feeds a crowd, travels beautifully, and actually gets better as it sits. You can assemble it a day ahead and just bake it before dinner — a lifesaver when you’re juggling a million holiday dishes.
- Always Gets Rave Reviews : I’ve brought this to Thanksgiving, Christmas, Easter brunch, and potluck dinners. Every single time, someone asks for the recipe. It’s that kind of dish — the one people talk about long after the meal is over.
- Comfort Food Reimagined : This isn’t your grandma’s green bean casserole — well, actually, it kind of is, but better. It’s the same soul-soothing comfort but with real ingredients and layers of flavor that make you close your eyes after the first bite.
What makes this recipe different from every other green bean casserole out there is the technique. We blanch the beans to keep them bright and crisp-tender. We build the sauce with a proper roux and real cream. And those shallots? They’re fried low and slow until they reach that perfect golden brown. It’s not just another version — it’s the best version.
What Ingredients You Will Need
This Festive Green Bean Casserole from Scratch with Crispy Shallots uses simple, wholesome ingredients to deliver bold flavor and satisfying texture without any of the canned stuff. Most of these are pantry staples or easy to find at any grocery store.
For the Green Bean Casserole
- 2 pounds fresh green beans, trimmed and cut into 2-inch pieces (look for bright, crisp beans with no brown spots — I prefer thinner haricots verts for a more tender bite)
- 3 tablespoons unsalted butter (I use Kerrygold for its rich flavor, but any good butter works)
- 1 medium yellow onion, finely diced (about 1 cup)
- 3 cloves garlic, minced (fresh is non-negotiable here — don’t use the jarred stuff)
- 16 ounces cremini mushrooms, sliced (baby bellas work perfectly; they have more flavor than white button mushrooms)
- 1 teaspoon kosher salt, plus more for blanching water
- 1/2 teaspoon black pepper
- 1/4 teaspoon dried thyme (or 1 teaspoon fresh thyme leaves if you have them)
- 1/4 cup all-purpose flour (for the roux — use gluten-free all-purpose flour if needed)
- 2 cups whole milk, warmed (you can use 2% but the sauce won’t be as rich)
- 1 cup heavy cream (adds that luscious, velvety texture — don’t skip it)
- 1/2 cup sour cream (adds tanginess and helps thicken the sauce)
- 1/2 cup grated Parmesan cheese (optional but highly recommended for extra savory depth)
For the Crispy Shallots

- 4 large shallots, peeled and thinly sliced into rings (about 2 cups)
- 1 cup buttermilk (for soaking — helps the flour stick and adds a subtle tang)
- 1 cup all-purpose flour
- 1/2 teaspoon kosher salt
- 1/4 teaspoon black pepper
- 1/4 teaspoon garlic powder
- 2 cups vegetable oil, for frying (use a neutral oil with a high smoke point like canola or peanut)
Ingredient Tips & Substitutions: If you’re dairy-free, substitute the butter with vegan butter, use unsweetened oat milk or canned coconut milk for the cream, and skip the Parmesan. For a gluten-free version, use a 1:1 gluten-free flour blend in both the roux and the shallot coating. If fresh green beans aren’t in season, frozen green beans work surprisingly well — just thaw and pat them dry before using. And if you’re short on time, you can use high-quality canned fried onions instead of making the shallots from scratch, but honestly, the homemade version is what makes this recipe truly special.
Equipment Needed
You don’t need any fancy gadgets to make this Festive Green Bean Casserole from Scratch with Crispy Shallots, but a few key tools will make the process smoother.
- Large pot for blanching the green beans (at least 6 quarts)
- Large skillet or Dutch oven for making the mushroom sauce (I love my cast iron skillet for even heat distribution)
- Small saucepan for warming the milk (cold milk can cause the roux to seize)
- 9×13-inch baking dish or similar 3-quart casserole dish
- Medium skillet for frying the shallots (a heavy-bottomed skillet works best for temperature control)
- Slotted spoon or spider strainer for removing fried shallots from oil
- Paper towels for draining the shallots
- Sharp knife and cutting board
- Measuring cups and spoons
- Wooden spoon or silicone spatula
Budget-Friendly Alternatives: If you don’t have a Dutch oven, any large, deep skillet will work. No slotted spoon? Use a regular spoon and drain the shallots on paper towels. You can even skip the thermometer — just test the oil temperature by dropping in a shallot ring; it should sizzle immediately but not brown too quickly.
Preparation Method
Let me walk you through making this Festive Green Bean Casserole from Scratch with Crispy Shallots step by step. Trust me, if I can figure this out while panicking about a ruined turkey brine, you’ve got this.
Step 1: Blanch the Green Beans
Bring a large pot of water to a rolling boil and add 2 tablespoons of salt — it should taste like the sea. While the water heats, fill a large bowl with ice water. Add the trimmed green beans to the boiling water and cook for exactly 3 minutes. You want them bright green and tender-crisp, not mushy. Immediately transfer them to the ice water bath to stop the cooking. This is called shocking, and it locks in that gorgeous color and crunch. Drain the beans well and pat them dry with a clean kitchen towel. Set aside.
Step 2: Soak the Shallots
While the beans are blanching, place the thinly sliced shallot rings in a shallow dish and pour the buttermilk over them. Let them soak for at least 10 minutes while you work on the sauce. This step is crucial — the buttermilk helps the flour coating stick and adds a subtle tang that balances the richness of the casserole.
Step 3: Make the Mushroom Sauce
In a large skillet or Dutch oven, melt the butter over medium heat. Add the diced onion and cook for 4-5 minutes until softened and translucent. Add the minced garlic and cook for another 30 seconds until fragrant — don’t let it burn. Add the sliced mushrooms, salt, pepper, and thyme. Cook for 8-10 minutes, stirring occasionally, until the mushrooms have released their liquid and it has mostly evaporated. You’ll know they’re ready when they start to brown and look glossy.
Sprinkle the flour over the mushroom mixture and stir constantly for 1-2 minutes to cook out the raw flour taste. Slowly pour in the warmed milk, whisking continuously to prevent lumps. Add the heavy cream and continue whisking until the sauce thickens, about 3-4 minutes. It should coat the back of a spoon. Remove from heat and stir in the sour cream and Parmesan cheese until smooth and velvety. Taste and adjust seasoning — you might want a pinch more salt or pepper.
Step 4: Fry the Crispy Shallots
In a medium skillet, heat the vegetable oil over medium heat until it reaches 350°F (175°C) — a pinch of flour should sizzle immediately when dropped in. While the oil heats, combine the flour, salt, pepper, and garlic powder in a shallow bowl. Drain the shallots from the buttermilk and toss them in the seasoned flour, shaking off any excess.
Working in batches to avoid crowding, fry the shallots for 2-3 minutes, stirring occasionally, until golden brown and crispy. They’ll darken slightly after you remove them from the oil, so pull them out when they’re just pale golden. Use a slotted spoon to transfer them to a paper towel-lined plate and sprinkle immediately with a pinch of salt. Repeat with remaining shallots. Set aside — try not to eat them all before assembling the casserole.
Step 5: Assemble and Bake
Preheat your oven to 375°F (190°C). In a large bowl, combine the blanched green beans with the mushroom sauce and toss gently to coat everything evenly. Transfer the mixture to a greased 9×13-inch baking dish and spread it into an even layer. At this point, you can cover and refrigerate the casserole for up to 24 hours if you’re prepping ahead.
Bake the casserole uncovered for 20-25 minutes until bubbly and hot throughout. Remove from the oven and top generously with the crispy shallots. Return to the oven for another 5 minutes — this helps the shallots stay crispy while the casserole finishes heating through. Let it rest for 5 minutes before serving. The sauce will thicken slightly as it cools.
Cooking Tips & Techniques
After making this Festive Green Bean Casserole from Scratch with Crispy Shallots more times than I can count, I’ve picked up a few tricks that make a real difference.
Don’t Overcook the Beans: The biggest mistake people make is boiling the green beans until they’re soft and sad. Three minutes is all they need. They’ll continue cooking slightly when you bake the casserole, so starting with crisp beans ensures they won’t turn to mush.
Warm Your Milk: I learned this the hard way after making a lumpy, grainy sauce that looked like cottage cheese. Cold milk seizes up the roux and creates lumps. Just microwave your milk for 45 seconds before adding it to the pan — it makes a world of difference.
Patience with Mushrooms: When you first add mushrooms to the pan, they’ll release a ton of liquid. Don’t rush this step. Let them cook until the liquid evaporates and they start to brown. That’s where the deep, savory flavor comes from. If you crowd the pan, they’ll steam instead of brown, so use a large enough skillet.
The Shallot Secret: The key to perfectly crispy shallots is slicing them uniformly thin — about 1/8 inch thick. A mandoline slicer is perfect for this, but a sharp knife works fine. Also, don’t skip the buttermilk soak. It helps the flour adhere and creates that craggy, crunchy texture we’re after.
Make-Ahead Strategy: This casserole is a lifesaver for busy holidays. Assemble everything except the shallots up to 24 hours in advance. Store the casserole covered in the fridge, and keep the fried shallots in an airtight container at room temperature. When you’re ready to serve, bake the casserole and add the shallots for the last 5 minutes. They stay perfectly crispy this way.
Variations & Adaptations
One of the best things about this Festive Green Bean Casserole from Scratch with Crispy Shallots is how easy it is to customize. Here are some variations I’ve tried and loved.
Bacon Lover’s Version: Cook 6 strips of bacon until crispy, crumble them, and stir half into the sauce before baking. Reserve the rest to sprinkle over the top along with the shallots. The smoky, salty flavor pairs beautifully with the creamy mushroom sauce.
Vegan Adaptation: Use vegan butter and unsweetened oat milk for the sauce. Replace the heavy cream with full-fat coconut cream — it adds a subtle sweetness that works surprisingly well. Skip the Parmesan or use a vegan alternative. For the shallots, the buttermilk soak can be swapped with unsweetened almond milk mixed with a teaspoon of apple cider vinegar.
Spicy Southwest Twist: Add 1 diced jalapeño (seeds removed if you want less heat) to the mushroom mixture. Stir in 1/2 teaspoon of smoked paprika and a pinch of cayenne pepper. Top with the crispy shallots and a handful of fresh cilantro before serving. This version is fantastic for a casual taco night or potluck.
Cheese Lover’s Upgrade: Stir 1 cup of shredded Gruyère or sharp white cheddar into the sauce along with the Parmesan. The cheese adds incredible richness and a golden, bubbly top. Just be careful not to oversalt since cheese already contains salt.
Roasted Garlic Version: Roast a whole head of garlic in foil at 400°F for 40 minutes until soft and caramelized. Squeeze the roasted cloves into the mushroom sauce and mash them in. The sweet, mellow garlic flavor takes this casserole to a whole new level.
Serving & Storage Suggestions
This Festive Green Bean Casserole from Scratch with Crispy Shallots is best served hot, straight from the oven. The contrast between the hot, creamy casserole and the crispy, salty shallots is pure magic. Let it rest for 5 minutes after baking — this helps the sauce set slightly so it doesn’t run all over the plate.
What to Serve With It: This casserole is a natural fit alongside roasted turkey, honey-glazed ham, or a juicy prime rib. It also pairs beautifully with mashed potatoes, stuffing, and cranberry sauce. For a lighter meal, serve it with a simple green salad dressed with lemon vinaigrette.
Storage Instructions: Leftovers keep well in an airtight container in the refrigerator for up to 4 days. The shallots will lose their crispiness over time, but the casserole itself tastes even better the next day as the flavors meld together. To reheat, warm individual portions in the microwave or reheat the whole casserole in a 350°F oven for 15-20 minutes.
Freezing Tips: You can freeze the assembled casserole (without the shallots) for up to 3 months. Wrap the dish tightly in plastic wrap and then foil. Thaw overnight in the refrigerator before baking. Add the crispy shallots fresh after baking — frozen shallots just don’t crisp up the same way.
Make It a Day Ahead: This is my favorite way to handle holiday cooking. Assemble the casserole completely (except for the shallots) the day before. Cover and refrigerate. The next day, let it sit at room temperature for 30 minutes before baking, then add 5-10 minutes to the baking time since it’s starting from cold. Fry the shallots fresh right before serving.
Nutritional Information & Benefits
While this Festive Green Bean Casserole from Scratch with Crispy Shallots is undeniably indulgent, it does offer some nutritional perks. Green beans are packed with vitamins A, C, and K, plus fiber and folate. Mushrooms are a great source of B vitamins and selenium, which supports immune health. And shallots contain antioxidants and compounds that may help reduce inflammation.
Estimated Nutritional Values Per Serving (based on 8 servings):
- Calories: 320
- Total Fat: 22g
- Saturated Fat: 12g
- Cholesterol: 55mg
- Sodium: 480mg
- Total Carbohydrates: 24g
- Dietary Fiber: 4g
- Sugars: 8g
- Protein: 8g
Dietary Considerations: This recipe contains dairy and gluten. For a gluten-free version, use a 1:1 gluten-free flour blend. For a dairy-free version, use vegan butter, oat milk, and coconut cream. The recipe can be made lower in calories by using whole milk instead of heavy cream and reducing the amount of Parmesan cheese.
Personal Wellness Note: I love that this recipe lets me enjoy a classic comfort food without any processed ingredients. It’s made with real food — fresh vegetables, good dairy, and simple seasonings. That makes me feel a little better about going back for seconds, you know?
Conclusion
This Festive Green Bean Casserole from Scratch with Crispy Shallots started as a kitchen disaster and ended up as my most-requested holiday recipe. It’s proof that sometimes the best things happen when you stop following the plan and just trust your instincts. The creamy mushroom sauce, the tender-crisp green beans, and those impossibly crunchy shallots come together in a way that feels both familiar and completely new.
I hope you give this recipe a try — whether for Thanksgiving, Christmas, or just a cozy Sunday dinner. Don’t be afraid to make it your own. Add bacon if that’s your thing, swap in different mushrooms, or go heavy on the garlic. The beauty of cooking from scratch is that you’re in control. And honestly, if you mess something up? That might just be the start of your own happy accident.
I’d love to hear how yours turns out! Drop a comment below and let me know if you tried any variations, or tag me in your photos on social media. Happy cooking, friend!
Frequently Asked Questions
Can I use frozen green beans instead of fresh?
Absolutely! Frozen green beans work great in this recipe. Thaw them completely and pat them dry with paper towels before using. You can skip the blanching step since frozen beans are already blanched. Just add them directly to the sauce mixture.
How do I keep the crispy shallots from getting soggy?
The trick is to add them right at the end of baking — only the last 5 minutes in the oven. If you’re making the casserole ahead, store the fried shallots separately in an airtight container at room temperature and add them fresh after reheating.
Can I make this casserole gluten-free?
Yes! Use a 1:1 gluten-free all-purpose flour blend in both the roux and the shallot coating. I’ve tested this with Bob’s Red Mill 1:1 Baking Flour and it works perfectly. Just make sure your other ingredients (like the broth or any add-ins) are also certified gluten-free.
Why is my sauce lumpy?
Lumpy sauce usually happens when you add cold milk to the roux. Always warm your milk before adding it, and whisk continuously as you pour. If you do end up with lumps, don’t panic — you can strain the sauce through a fine-mesh sieve before adding it to the green beans.
How far ahead can I assemble this casserole?
You can assemble the casserole (without the crispy shallots) up to 24 hours in advance. Cover it tightly with foil and refrigerate. When you’re ready to bake, let it sit at room temperature for 30 minutes, then add about 10 minutes to the baking time since it’s starting from cold.
Pin This Recipe!

Festive Green Bean Casserole from Scratch with Crispy Shallots
A rich, creamy green bean casserole made entirely from scratch with a velvety mushroom cream sauce and topped with impossibly crispy fried shallots. This holiday favorite started as a happy accident and has become a signature dish that gets rave reviews every time.
- Prep Time: 30 minutes
- Cook Time: 35 minutes
- Total Time: 1 hour 5 minutes
- Yield: 8 servings 1x
- Category: Side Dish
- Cuisine: American
Ingredients
- 2 pounds fresh green beans, trimmed and cut into 2-inch pieces
- 3 tablespoons unsalted butter
- 1 medium yellow onion, finely diced (about 1 cup)
- 3 cloves garlic, minced
- 16 ounces cremini mushrooms, sliced
- 1 teaspoon kosher salt, plus more for blanching water
- 1/2 teaspoon black pepper
- 1/4 teaspoon dried thyme (or 1 teaspoon fresh thyme leaves)
- 1/4 cup all-purpose flour
- 2 cups whole milk, warmed
- 1 cup heavy cream
- 1/2 cup sour cream
- 1/2 cup grated Parmesan cheese (optional)
- 4 large shallots, peeled and thinly sliced into rings (about 2 cups)
- 1 cup buttermilk
- 1 cup all-purpose flour
- 1/2 teaspoon kosher salt
- 1/4 teaspoon black pepper
- 1/4 teaspoon garlic powder
- 2 cups vegetable oil, for frying
Instructions
- Bring a large pot of water to a rolling boil and add 2 tablespoons of salt. Fill a large bowl with ice water. Add the trimmed green beans to the boiling water and cook for exactly 3 minutes. Immediately transfer them to the ice water bath to stop the cooking. Drain well and pat dry. Set aside.
- Place the thinly sliced shallot rings in a shallow dish and pour the buttermilk over them. Let them soak for at least 10 minutes.
- In a large skillet or Dutch oven, melt the butter over medium heat. Add the diced onion and cook for 4-5 minutes until softened. Add the minced garlic and cook for 30 seconds until fragrant. Add the sliced mushrooms, salt, pepper, and thyme. Cook for 8-10 minutes, stirring occasionally, until the mushrooms have released their liquid and it has mostly evaporated.
- Sprinkle the flour over the mushroom mixture and stir constantly for 1-2 minutes. Slowly pour in the warmed milk, whisking continuously to prevent lumps. Add the heavy cream and continue whisking until the sauce thickens, about 3-4 minutes. Remove from heat and stir in the sour cream and Parmesan cheese until smooth. Taste and adjust seasoning.
- In a medium skillet, heat the vegetable oil over medium heat until it reaches 350°F (175°C). While the oil heats, combine the flour, salt, pepper, and garlic powder in a shallow bowl. Drain the shallots from the buttermilk and toss them in the seasoned flour, shaking off any excess. Working in batches, fry the shallots for 2-3 minutes until golden brown and crispy. Transfer to a paper towel-lined plate and sprinkle with salt.
- Preheat oven to 375°F (190°C). In a large bowl, combine the blanched green beans with the mushroom sauce and toss gently. Transfer to a greased 9×13-inch baking dish and spread into an even layer.
- Bake the casserole uncovered for 20-25 minutes until bubbly and hot throughout. Remove from the oven and top generously with the crispy shallots. Return to the oven for another 5 minutes. Let rest for 5 minutes before serving.
Notes
For make-ahead: Assemble casserole (without shallots) up to 24 hours in advance. Store covered in fridge. Add 5-10 minutes to baking time if starting from cold. Fry shallots fresh just before serving. For gluten-free: use 1:1 gluten-free flour blend. For dairy-free: use vegan butter, oat milk, and coconut cream.
Nutrition
- Serving Size: 1 serving (about 1 c
- Calories: 320
- Sugar: 8
- Sodium: 480
- Fat: 22
- Saturated Fat: 12
- Carbohydrates: 24
- Fiber: 4
- Protein: 8
Keywords: green bean casserole, from scratch, crispy shallots, holiday side dish, Thanksgiving, Christmas, mushroom cream sauce, homemade



