Written by

Nora Spencer

Published

Best Green Bean Casserole from Scratch with Crispy Shallots

Ready In 45 minutes
Servings 8 servings
Difficulty Medium

Love this? Save it for later!

Share the inspiration with your friends

My aunt wasn’t trying to impress anyone. I’d stopped by to drop off a casserole dish she’d lent me—honestly, a two-minute errand—and the smell hit me before I even got through the screen door. It was rich and savory, with this deep, almost caramelized onion thing happening that made my stomach growl right there on her front porch. She was in the kitchen, barefoot, wearing an old t-shirt, stirring something in a cast iron skillet like it was absolutely nothing. “Oh, you’re still here,” she said when she saw me standing in the doorway. “Grab a spoon.”

That moment changed how I think about holiday side dishes forever. See, I grew up on the canned version—you know the one. Mushroom soup from a can, French’s fried onions from a cardboard tube, green beans that had been sitting in a warehouse for who knows how long. It was fine. It was what everyone brought to Thanksgiving. But this? This was something else entirely. The green beans were still bright, still had that snap to them. The sauce was velvety and rich, not gloppy. And the shallots on top—crispy, golden, almost candied—were nothing like those sad little rings from a can. I asked her what she did, and she just shrugged. “Made it from scratch. It’s not hard.”

Maybe you’ve been there, standing in someone’s kitchen, realizing that the version you’ve been making for years could be so much better. That’s exactly what this best green bean casserole from scratch with crispy shallots is—the version that makes people close their eyes after the first bite. It’s the one that disappears first at potlucks, the one people ask for the recipe before they’ve even finished their helping. And honestly? It’s not complicated at all. It just takes a few extra minutes and a little bit of love. Let me show you how it’s done.

Why You’ll Love This Recipe

Listen, I’ve tested this recipe about seven times to get it exactly right. I’ve made it for Thanksgiving, for Easter brunch, for random Tuesday dinners when I needed something that felt special. Every single time, it delivers. Here’s why this best green bean casserole from scratch with crispy shallots is going to become your new go-to:

  • Made from Real Ingredients: No canned soup, no processed onions. Just fresh mushrooms, heavy cream, and shallots that you crisp up yourself. Your body—and your taste buds—will thank you.
  • Surprisingly Simple: I know “from scratch” sounds fancy, but I promise you can make this on a weeknight. It comes together in about 45 minutes, and most of that is hands-off oven time.
  • Perfect for Hosting: This is the dish that makes people think you spent hours in the kitchen. You can prep the shallots and the sauce a day ahead, then just assemble and bake when your guests arrive. Total host flex.
  • Always a Crowd-Pleaser: I’ve served this to kids, to picky eaters, to my uncle who “doesn’t do vegetables.” It gets devoured every single time. The crispy shallots are basically vegetable candy.
  • Next-Level Comfort Food: The creamy mushroom sauce, the tender green beans, those golden crispy shallots—it’s everything you love about the classic, but about a thousand times better. It’s the kind of dish that makes you slow down and actually taste what you’re eating.

What makes this recipe different from all the others out there? Two things. First, the sauce. Most from-scratch versions use a basic béchamel, but I add a splash of soy sauce and a pinch of nutmeg. Trust me on this—it deepens the flavor in a way that makes people say “what’s in this?” Second, the shallots. I double-crisp them by tossing them in a little flour before frying, which gives them that shatteringly crunchy texture that stays crisp even after the casserole bakes. It’s a small tweak, but it makes all the difference.

This isn’t just another green bean casserole. This is the one you’ll bring to every family gathering from now on. The one that gets texted around the group chat. The one that makes you feel like a kitchen rockstar without breaking a sweat.

What Ingredients You Will Need

This recipe uses simple, wholesome ingredients that you can find at any grocery store. The magic happens when you let them shine together. Here’s what you’ll need for this best green bean casserole from scratch with crispy shallots:

For the Crispy Shallots

  • 4 large shallots, thinly sliced into rings (about 2 cups) — Look for firm shallots with papery skin. The thinner you slice them, the crispier they get.
  • 1/2 cup all-purpose flour — This helps the shallots get that shatteringly crunchy texture. You can use rice flour for a gluten-free option.
  • 1/2 teaspoon salt — I use fine sea salt here.
  • 1/4 teaspoon black pepper — Freshly ground is best.
  • Vegetable or canola oil, for frying — About 2 cups, enough to fill a small pot with 1 inch of oil.

For the Green Bean Casserole

best green bean casserole from scratch with crispy shallots preparation steps

  • 2 pounds fresh green beans, trimmed and cut into 2-inch pieces — Look for bright, crisp beans that snap when you bend them. I like to buy them a day ahead and store them in a paper bag in the fridge.
  • 3 tablespoons unsalted butter — I use Kerrygold for the richness, but any good butter works.
  • 8 ounces cremini mushrooms, finely chopped — Baby bellas work great here. You want them chopped small so they melt into the sauce. (White mushrooms work too, but creminis have more flavor.)
  • 3 cloves garlic, minced — Fresh garlic, not the jarred stuff. It makes a difference.
  • 3 tablespoons all-purpose flour — This thickens the sauce.
  • 2 cups whole milk — Don’t use skim here. The fat is what makes the sauce velvety. You can use 2% in a pinch, but whole milk is best.
  • 1 cup heavy cream — This is non-negotiable for that luscious texture. (For a lighter version, you can use half-and-half, but the sauce won’t be as rich.)
  • 1 teaspoon salt — Plus more for the green beans.
  • 1/2 teaspoon black pepper
  • 1/4 teaspoon ground nutmeg — This is my secret ingredient. It adds warmth without being noticeable.
  • 1 tablespoon soy sauce — Trust me on this. It adds umami depth that makes the mushroom flavor pop. (Use tamari for gluten-free.)
  • 1/2 cup grated Parmesan cheese — Optional, but I love the salty kick it adds. (Use nutritional yeast for dairy-free.)

Equipment Needed

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

  • Large pot for blanching the green beans — I use a 6-quart pot. Any large pot works.
  • Large skillet or sauté pan — A 12-inch skillet is ideal for making the sauce. I love my cast iron for this, but a stainless steel pan works great too.
  • Small pot or saucepan for frying the shallots — A 2-quart pot is perfect. You want something deep enough to prevent oil splatters.
  • Baking dish — A 9×13-inch dish is standard. You can also use a 2.5-quart casserole dish. (I’ve even made it in a cast iron skillet for a rustic look.)
  • Slotted spoon or spider strainer — For removing the crispy shallots from the oil. A regular spoon works, but a spider strainer is easier.
  • Paper towels — For draining the fried shallots.
  • Cutting board and sharp knife — A good chef’s knife makes slicing shallots so much easier.
  • Measuring cups and spoons
  • Wooden spoon or spatula

If you don’t have a spider strainer, don’t worry. I used a slotted spoon for years before I finally bought one. It works just fine. And if you don’t have a 9×13 dish, you can use two smaller dishes or even individual ramekins for a fancy presentation.

Preparation Method

Alright, let’s get cooking. This best green bean casserole from scratch with crispy shallots comes together in a few simple steps. Take your time, enjoy the process, and don’t rush the shallots—they’re worth every minute.

  1. Prep the green beans. Bring a large pot of salted water to a boil. While it’s heating up, trim the ends off your green beans and cut them into 2-inch pieces. Once the water is boiling, add the green beans and cook for exactly 3 minutes. You want them bright green and still crisp. Drain them immediately and transfer to a bowl of ice water to stop the cooking. Let them sit for 2 minutes, then drain well and pat dry with a clean kitchen towel. (Pro tip: You can do this step up to 2 days ahead. Just store the blanched beans in a zip-top bag in the fridge.)
  2. Make the crispy shallots. This is where the magic happens. Heat about 1 inch of oil in a small pot over medium heat. While the oil heats, toss the sliced shallots with the flour, salt, and pepper in a bowl. Shake off any excess flour. Test the oil by dropping in one shallot ring—it should sizzle immediately. Working in batches, fry the shallots for 2-3 minutes, stirring occasionally, until they’re golden brown. They’ll darken a bit after you remove them, so pull them out when they’re just light golden. Transfer to a paper towel-lined plate and sprinkle with a little salt while they’re still warm. (I know it’s tempting to eat them all right now. Save at least half for the casserole.)
  3. Sauté the mushrooms. In a large skillet, melt the butter over medium heat. Add the chopped mushrooms and cook for 5-7 minutes, stirring occasionally, until they release their liquid and start to brown. You want them deeply golden, not just pale and sweaty. Add the garlic and cook for 1 more minute until fragrant. (If the pan looks dry at any point, add another tablespoon of butter. Mushrooms are thirsty little things.)
  4. Make the cream sauce. Sprinkle the flour over the mushrooms and stir constantly for 1 minute. This cooks out the raw flour taste. Slowly pour in the milk, whisking constantly to prevent lumps. Then add the heavy cream, salt, pepper, nutmeg, and soy sauce. Bring the sauce to a gentle simmer, stirring often, until it thickens enough to coat the back of a spoon—about 3-4 minutes. Stir in the Parmesan cheese if you’re using it. Taste and adjust the seasoning. The sauce should be rich, creamy, and deeply savory.
  5. Assemble the casserole. Preheat your oven to 375°F (190°C). Add the blanched green beans to the skillet with the sauce and stir until everything is well coated. Transfer the mixture to your baking dish and spread it into an even layer. (If you’re prepping ahead, stop here and refrigerate. Just let it come to room temperature before baking.)
  6. Bake and top. Bake the casserole for 20 minutes, until it’s bubbly and hot all the way through. Remove from the oven and scatter the crispy shallots generously over the top. Return to the oven and bake for another 5 minutes, just to warm the shallots through. (If you add the shallots too early, they’ll get soggy. Trust me, I learned this the hard way.)
  7. Rest and serve. Let the casserole sit for 5 minutes before serving. This lets the sauce set up a bit so it’s not too runny. Garnish with a few extra crispy shallots on top if you’re feeling fancy, and watch everyone fight over the crispy bits.

Cooking Tips & Techniques

I’ve made this best green bean casserole from scratch with crispy shallots more times than I can count, and I’ve definitely made my share of mistakes. Here’s what I’ve learned so you don’t have to:

Don’t skip blanching the beans. I know it’s an extra step, but it’s non-negotiable. Blanching sets the color, softens the beans slightly, and stops them from turning mushy in the oven. I once tried to save time by using raw beans, and they came out unevenly cooked—some were still crunchy, others were limp. Not my finest moment.

Slice shallots evenly. This is the key to perfectly crispy shallots. If some slices are thicker than others, they’ll cook at different rates. Use a sharp knife and take your time. I like to use a mandoline for super-thin, even slices, but a steady hand works just fine.

Watch the oil temperature. If your oil is too hot, the shallots will burn before they crisp. Too cold, and they’ll absorb oil and get greasy. Aim for 325°F to 350°F. If you don’t have a thermometer, drop a shallot ring in—it should sizzle gently, not furiously.

Make the sauce thick enough. The sauce should be a little thicker than you think it needs to be before you add the beans. The beans will release some moisture as they bake, and the sauce will thin out slightly. If it’s too thin from the start, you’ll end up with a soupy casserole. (Speaking from experience here.)

Prep ahead for hosting. This is a lifesaver when you’re hosting. Blanch the beans, make the sauce, and fry the shallots up to 2 days ahead. Store them separately in the fridge. On the day of your gathering, just assemble and bake. You’ll look like a hero while everyone else is running around.

Variations & Adaptations

One of the best things about this best green bean casserole from scratch with crispy shallots is how adaptable it is. Here are some of my favorite variations:

Make it gluten-free. Swap the all-purpose flour in the sauce for a 1:1 gluten-free flour blend or cornstarch (use 2 tablespoons cornstarch mixed with 2 tablespoons cold water). For the shallots, use rice flour or chickpea flour instead of wheat flour. I’ve tested this with both, and the texture is still amazing.

Make it dairy-free. Use olive oil or vegan butter instead of butter. Replace the milk with unsweetened oat milk or cashew milk, and use full-fat coconut cream instead of heavy cream. (Coconut cream gives the sauce a slight sweetness that actually works really well with the green beans.) Omit the Parmesan or use nutritional yeast for that cheesy flavor.

Add some protein. This casserole is hearty enough as a side dish, but if you want to make it a main, add 2 cups of shredded rotisserie chicken or cooked bacon bits. I’ve also added sliced mushrooms sautéed with the creminis for extra umami.

Switch up the vegetables. Swap half the green beans for asparagus or broccoli florets. Just blanch them the same way. I made this for Easter with half green beans and half asparagus, and it was gorgeous—all those bright green colors on the table.

Spice it up. Add a pinch of red pepper flakes to the sauce for a little heat. Or stir in a teaspoon of Dijon mustard for tanginess. I once added a splash of white wine to the mushrooms before adding the flour, and it was incredible. (Just cook it off for a minute before adding the flour.)

Serving & Storage Suggestions

This best green bean casserole from scratch with crispy shallots is a showstopper on any table. Here’s how to serve and store it like a pro:

Serving: Serve this casserole hot, straight from the oven. I like to let it rest for 5 minutes so the sauce sets up a bit. Garnish with a few extra crispy shallots on top for that Instagram-worthy look. It pairs beautifully with roasted turkey, glazed ham, or even a simple roast chicken. For a vegetarian spread, serve it alongside mashed potatoes, roasted carrots, and a big green salad.

What to serve alongside: This casserole is a natural fit for any holiday table. For Thanksgiving, it’s perfect with classic herb stuffing and creamy mashed potatoes. For a cozy weeknight dinner, pair it with garlic herb roasted chicken and some crusty bread to soak up the sauce.

Storage: Leftovers keep well in an airtight container in the fridge for up to 4 days. The shallots will lose some of their crunch, but the flavor is still fantastic. I actually love the leftovers even more—the flavors meld together overnight.

Reheating: Reheat in a 350°F oven for 10-15 minutes, or until bubbly. You can also reheat individual portions in the microwave for 1-2 minutes. If you want to revive the crispy shallots, add a fresh batch on top after reheating.

Freezing: You can freeze the assembled casserole (without the crispy shallots) for up to 3 months. Thaw overnight in the fridge, then bake as directed. Add fresh crispy shallots after baking. I’ve done this for Christmas dinner prep, and it works like a charm.

Nutritional Information & Benefits

This best green bean casserole from scratch with crispy shallots is comfort food at its finest, but it also has some surprising health benefits. Here’s the breakdown per serving (about 1 cup):

Nutrient Amount
Calories 285
Total Fat 18g
Saturated Fat 10g
Cholesterol 55mg
Sodium 520mg
Total Carbohydrates 22g
Dietary Fiber 4g
Sugars 8g
Protein 8g
Vitamin A 15% DV
Vitamin C 20% DV
Calcium 15% DV
Iron 10% DV

Health highlights: Green beans are packed with Vitamin C, Vitamin K, and fiber. They’re great for digestion and immune health. Mushrooms are one of the few natural sources of Vitamin D, and they’re rich in antioxidants. Shallots contain compounds that may help reduce inflammation. Even the cream sauce has some benefits—the calcium from the milk and cream is great for bone health.

Dietary considerations: This recipe contains dairy and gluten. For dairy-free, see the variations section above. For gluten-free, use the substitutions listed. It’s naturally vegetarian and can be made vegan with the right swaps. The recipe is lower in carbs than many holiday casseroles, making it a good option for those watching their carbohydrate intake.

Conclusion

This best green bean casserole from scratch with crispy shallots is more than just a holiday side dish—it’s the kind of recipe that becomes a tradition. Every time I make it, I think of that afternoon at my aunt’s house, standing in her kitchen with a spoon in my hand, realizing that the best things in life are often the simplest. She wasn’t trying to impress anyone. She was just making dinner. And that’s exactly the energy I want you to bring to this recipe.

Don’t be afraid to make it your own. Add extra shallots if you love them (I always do). Swap in different mushrooms. Serve it with your favorite holiday mains. The beauty of this recipe is that it’s forgiving—it wants you to succeed. And honestly? Once you taste that creamy sauce, those tender green beans, and those impossibly crispy shallots all together, you’ll wonder why you ever settled for the canned version.

I’d love to hear how this turns out for you. Drop a comment below and tell me about your version—did you add bacon? Make it dairy-free? Serve it at a random Tuesday dinner? Share your photos and tag me so I can see your beautiful creation. And if you loved this recipe, don’t forget to pin it for later and share it with your friends. Because honestly? Everyone deserves to taste green bean casserole this good.

Frequently Asked Questions

Can I use frozen green beans instead of fresh?

You can, but I really recommend fresh for this recipe. Frozen green beans tend to be softer and can turn mushy during baking. If you’re in a pinch, thaw them completely and pat them dry before using. But honestly, fresh green beans are worth the extra minute of trimming.

How do I prevent the crispy shallots from getting soggy?

The key is to add them at the very end of baking. Don’t put them on before the casserole goes in the oven. Bake the casserole for 20 minutes, then add the shallots and bake for just 5 more minutes. If you’re making the shallots ahead, store them in an airtight container at room temperature—not in the fridge, where they’ll absorb moisture.

Can I make this casserole ahead of time?

Absolutely! This is one of the best recipes for make-ahead hosting. Blanch the beans, make the sauce, and fry the shallots up to 2 days ahead. Store everything separately in the fridge. On the day of, just assemble and bake. Add the shallots in the last 5 minutes of baking. Your future self will thank you.

What can I use instead of heavy cream?

If you don’t have heavy cream, you can use half-and-half or whole milk mixed with a tablespoon of melted butter. The sauce won’t be quite as rich, but it’ll still be delicious. For a dairy-free option, full-fat coconut cream works beautifully—it adds a subtle sweetness that pairs well with the green beans.

How do I slice shallots without crying?

I feel you on this one. Shallots can be just as tear-jerking as onions. Try chilling the shallots in the fridge for 15 minutes before slicing. A sharp knife also helps—dull blades crush the cells and release more of the irritating compounds. And if all else fails, wear goggles. I’m not kidding. I have a pair in my kitchen drawer, and they’ve saved me many times.

Pin This Recipe!

best green bean casserole from scratch with crispy shallots recipe

Print

Best Green Bean Casserole from Scratch with Crispy Shallots

This from-scratch green bean casserole features fresh green beans, a velvety mushroom cream sauce, and double-crisped shallots. It’s a showstopper side dish that’s surprisingly simple to make and perfect for holidays or weeknight dinners.

  • Author: Sara
  • Prep Time: 15 minutes
  • Cook Time: 30 minutes
  • Total Time: 45 minutes
  • Yield: 8 servings 1x
  • Category: Side Dish
  • Cuisine: American

Ingredients

Scale
  • 4 large shallots, thinly sliced into rings (about 2 cups)
  • 1/2 cup all-purpose flour
  • 1/2 teaspoon salt
  • 1/4 teaspoon black pepper
  • Vegetable or canola oil, for frying (about 2 cups)
  • 2 pounds fresh green beans, trimmed and cut into 2-inch pieces
  • 3 tablespoons unsalted butter
  • 8 ounces cremini mushrooms, finely chopped
  • 3 cloves garlic, minced
  • 3 tablespoons all-purpose flour
  • 2 cups whole milk
  • 1 cup heavy cream
  • 1 teaspoon salt
  • 1/2 teaspoon black pepper
  • 1/4 teaspoon ground nutmeg
  • 1 tablespoon soy sauce
  • 1/2 cup grated Parmesan cheese (optional)

Instructions

  1. Prep the green beans: Bring a large pot of salted water to a boil. Trim ends off green beans and cut into 2-inch pieces. Boil for exactly 3 minutes until bright green and crisp. Drain and transfer to a bowl of ice water for 2 minutes. Drain well and pat dry.
  2. Make the crispy shallots: Heat about 1 inch of oil in a small pot over medium heat. Toss sliced shallots with flour, salt, and pepper. Shake off excess flour. Fry in batches for 2-3 minutes until golden brown. Transfer to paper towels and sprinkle with salt.
  3. Sauté the mushrooms: In a large skillet, melt butter over medium heat. Add chopped mushrooms and cook for 5-7 minutes until browned. Add garlic and cook 1 minute more.
  4. Make the cream sauce: Sprinkle flour over mushrooms and stir constantly for 1 minute. Slowly pour in milk, whisking constantly. Add heavy cream, salt, pepper, nutmeg, and soy sauce. Simmer for 3-4 minutes until thickened. Stir in Parmesan if using.
  5. Assemble the casserole: Preheat oven to 375°F (190°C). Add blanched green beans to the skillet with sauce and stir to coat. Transfer to a 9×13-inch baking dish and spread evenly.
  6. Bake and top: Bake for 20 minutes until bubbly. Remove from oven, scatter crispy shallots on top, and bake for 5 more minutes.
  7. Rest and serve: Let casserole sit for 5 minutes before serving. Garnish with extra crispy shallots if desired.

Notes

Blanch green beans up to 2 days ahead. Make sauce and fry shallots up to 2 days ahead; store separately in fridge. Add shallots at the very end of baking to keep them crispy. For gluten-free, use rice flour for shallots and a 1:1 gluten-free flour blend or cornstarch for the sauce. For dairy-free, use olive oil or vegan butter, unsweetened oat or cashew milk, and full-fat coconut cream instead of heavy cream.

Nutrition

  • Serving Size: 1 cup
  • Calories: 285
  • Sugar: 8
  • Sodium: 520
  • Fat: 18
  • Saturated Fat: 10
  • Carbohydrates: 22
  • Fiber: 4
  • Protein: 8

Keywords: green bean casserole, from scratch, crispy shallots, Thanksgiving side dish, holiday side dish, creamy mushroom sauce, vegetarian side dish

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 ★☆ ★☆ ★☆ ★☆ ★☆