Homemade Green Bean Casserole with Crispy Shallots

Ready In
Servings
Difficulty

My Aunt Carol swore she hated green bean casserole. For thirty years. Every Thanksgiving, she’d push the dish around her plate, making polite excuses while the rest of us happily scooped up seconds. I honestly thought she was just being dramatic—I mean, who doesn’t love that creamy, salty, crunchy situation? Then last November, I made this version “just for myself” because I was testing the blog recipe, and I caught her standing at the stove, fork in hand, eating straight from the baking dish when she thought no one was looking.

She didn’t even try to deny it. Just looked at me with this sheepish grin and said, “Okay, fine. This one’s different.” And honestly? She was right. It is different. Because this homemade green bean casserole with crispy shallots skips the canned soup entirely—no mystery ingredients, no gloopy texture, no weird aftertaste that lingers on your tongue. Instead, you get a from-scratch mushroom cream sauce that actually tastes like mushrooms, fresh green beans that still have some snap to them, and those golden, paper-thin shallots that shatter when you bite down.

Let me tell you, converting a lifelong hater is no small feat. But that’s exactly what this dish does. It takes everything you thought you knew about green bean casserole and quietly proves you wrong. Maybe you’ve been there—the one who tolerates the holiday staple rather than genuinely looking forward to it. I get it. But this version? It’s the kind that makes you close your eyes after the first bite. And that’s why I keep making it, year after year.

Why You’ll Love This Recipe

This isn’t just another green bean casserole recipe. It’s the one that changed my aunt’s mind after three decades of refusal, and it’s tested through countless holiday dinners and weeknight cravings. Here’s what makes it stand out:

  • No Canned Soup Required : You get a rich, velvety mushroom sauce made from scratch with real ingredients. No condensed soup, no preservatives, no artificial flavors—just honest, creamy comfort.
  • Crispy Shallots That Actually Stay Crispy : Those sad, soggy fried onions from a can? Not here. These shallots stay shatteringly crisp even after baking, thanks to a simple technique I learned the hard way (more on that later).
  • Perfect for Holiday Gatherings : This dish holds up beautifully on a buffet table, travels well to potlucks, and somehow tastes even better the next day—if there are leftovers, which there won’t be.
  • Simple Ingredients, Big Flavor : Everything you need is probably already in your kitchen or easy to find at any grocery store. No specialty items, no expensive truffle oil, no fuss.
  • Customizable for Dietary Needs : Swap in gluten-free flour, use dairy-free milk and butter, or add extra veggies—the recipe adapts without losing its soul.
  • Crowd-Pleaser Guaranteed : I’ve served this to mushroom skeptics, green bean avoiders, and even my cousin who “doesn’t do creamy things.” Every single one went back for seconds.

This recipe taps into something deeper than just good food. It’s comfort food reimagined—healthier, fresher, but with the same soul-soothing satisfaction that makes you want to curl up on the couch with a warm bowl. Perfect for impressing guests without stress, or turning a simple Tuesday dinner into something memorable.

What Ingredients You Will Need

This recipe uses simple, wholesome ingredients to deliver bold flavor and satisfying texture without the fuss. Most of these are pantry staples, but I’ve included a few notes to help you pick the best options.

For the Green Beans

  • 1½ pounds fresh green beans, trimmed and cut into 2-inch pieces (look for bright, firm beans that snap when bent—avoid any that feel limp or rubbery)
  • 1 tablespoon kosher salt, for blanching (this helps the beans stay bright green and tender-crisp)
  • Ice water bath, for shocking (a large bowl filled with ice and cold water stops the cooking immediately)

For the Mushroom Cream Sauce

homemade green bean casserole with crispy shallots preparation steps

  • 3 tablespoons unsalted butter (I prefer Kerrygold for its rich flavor, but any good-quality butter works)
  • 12 ounces cremini mushrooms, thinly sliced (baby bella mushrooms work great here—they have more flavor than white button mushrooms)
  • 1 medium yellow onion, finely diced (about 1 cup)
  • 4 cloves garlic, minced (fresh garlic is non-negotiable here; don’t use the jarred stuff)
  • ¼ cup all-purpose flour (use a gluten-free 1:1 blend if needed)
  • 2 cups whole milk, warmed (you can use 2% or a dairy-free alternative like oat milk, but whole milk gives the creamiest result)
  • 1 cup low-sodium chicken or vegetable broth (I like Better Than Bouillon for depth of flavor)
  • 1 teaspoon dried thyme (or 1 tablespoon fresh thyme leaves)
  • ½ teaspoon smoked paprika (this adds a subtle warmth that makes the sauce unforgettable)
  • ½ teaspoon black pepper, freshly ground
  • ½ teaspoon salt, plus more to taste
  • ¼ teaspoon ground nutmeg (trust me on this—it brightens the whole dish)

For the Crispy Shallots

  • 4 large shallots, thinly sliced into rings (about 1½ cups; use a mandoline if you have one for even slices)
  • ½ cup all-purpose flour (or rice flour for gluten-free)
  • ½ teaspoon salt
  • ¼ teaspoon black pepper
  • ¾ cup vegetable or canola oil, for frying (enough to reach about ½ inch depth in your skillet)

For the Topping (Optional but Recommended)

  • ½ cup panko breadcrumbs (adds extra crunch on top)
  • 2 tablespoons melted butter
  • ¼ cup grated Parmesan cheese (optional, but adds a lovely savory note)

Equipment Needed

You don’t need a fancy kitchen to pull this off, but a few key tools make the process smoother. Here’s what I use:

  • Large pot for blanching the green beans (at least 6 quarts)
  • Large skillet or sauté pan for the mushroom sauce (12-inch is ideal; a deep one prevents splattering)
  • Small skillet or saucepan for frying shallots (cast iron works beautifully here)
  • 9×13-inch baking dish (or a 3-quart casserole dish)
  • Mandoline slicer for paper-thin shallots (a sharp knife works too, but mandoline gives consistent results)
  • Slotted spoon or spider strainer for removing shallots from oil
  • Paper towel-lined plate for draining crispy shallots
  • Whisk for smoothing out the sauce
  • Colander for draining beans
  • Large bowl for ice water bath

If you don’t have a mandoline, just slice the shallots as thinly as possible with a sharp chef’s knife. And honestly, I’ve made this in a disposable aluminum pan for potlucks before—it works fine, just keep an eye on baking time.

Preparation Method

Let’s walk through this step by step. I’ve included timing cues and sensory markers so you know exactly what to look for at each stage.

Step 1: Blanch the Green Beans

Fill a large pot with water and bring it to a rolling boil over high heat. Add 1 tablespoon kosher salt—this helps the beans stay vibrant green. While the water heats, fill a large bowl with ice and cold water. Drop the trimmed green beans into the boiling water and cook for exactly 3 minutes. You want them tender but still bright green with a slight snap. Drain immediately and plunge into the ice water bath. Let them sit for 2-3 minutes until completely cool, then drain well and pat dry with a clean kitchen towel. Set aside.

Step 2: Make the Crispy Shallots

While the beans cool, heat ¾ cup oil in a small skillet over medium heat. Test the oil by dropping in one shallot ring—it should sizzle gently but not violently. In a shallow bowl, whisk together the flour, salt, and pepper. Toss the shallot rings in the flour mixture, shaking off excess. Working in batches to avoid crowding, fry the shallots for 3-4 minutes, stirring occasionally, until deep golden brown. They’ll continue darkening slightly after you remove them, so pull them when they’re a shade lighter than you want. Transfer to a paper towel-lined plate and sprinkle with a pinch of salt while still warm. Set aside.

Step 3: Build the Mushroom Cream Sauce

In a large skillet, melt 3 tablespoons butter over medium-high heat. Add the sliced mushrooms in a single layer—don’t crowd the pan or they’ll steam instead of browning. Cook without stirring for 3-4 minutes until deeply golden on one side, then stir and continue cooking for another 3-4 minutes until all the moisture has evaporated and the mushrooms are nicely browned. Add the diced onion and cook for 3-4 minutes until translucent. Add the minced garlic and cook for 30 seconds until fragrant—your kitchen should smell incredible at this point.

Sprinkle the flour over the mushroom mixture and stir constantly for 1-2 minutes. This cooks out the raw flour taste. Slowly pour in the warmed milk while whisking continuously to prevent lumps. Add the broth, thyme, smoked paprika, black pepper, salt, and nutmeg. Bring to a gentle simmer, then reduce heat to low and cook for 5-7 minutes, stirring occasionally, until the sauce thickens enough to coat the back of a spoon. Taste and adjust seasoning—you want it slightly saltier than you think because the beans will dilute it.

Step 4: Assemble the Casserole

Preheat your oven to 375°F. Add the blanched green beans to the mushroom sauce and stir gently until every bean is coated. Pour the mixture into a greased 9×13-inch baking dish and spread it into an even layer. If using the panko topping, mix the breadcrumbs with melted butter and Parmesan, then sprinkle evenly over the top.

Step 5: Bake and Finish

Bake for 20-25 minutes until the sauce is bubbly around the edges and the top is lightly golden. Remove from the oven and let rest for 5 minutes—this allows the sauce to set slightly so it doesn’t run all over the plate. Just before serving, scatter the crispy shallots generously over the top. This is crucial: adding them after baking keeps them shatteringly crisp instead of soggy.

Cooking Tips & Techniques

I’ve made this recipe more times than I can count, and I’ve learned a few things the hard way. Here’s what I wish someone had told me:

Don’t skip the blanching step. I know it’s tempting to just toss raw beans into the sauce and hope for the best, but you’ll end up with unevenly cooked beans—some crunchy, some mushy. The ice bath is equally important; it stops the cooking instantly and locks in that beautiful green color. I once forgot the ice bath and ended up with sad, olive-colored beans. Never again.

Toast your mushrooms properly. The biggest mistake people make with mushrooms is overcrowding the pan. Give them space! If they steam instead of brown, you lose all that deep, savory flavor. Cook them in batches if necessary. You’re looking for a deep golden color and a slightly shrunken appearance—that’s where the flavor lives.

Warm your milk before adding it to the sauce. Cold milk will seize up the flour mixture and create lumps that are nearly impossible to smooth out. I microwave mine for about 45 seconds until it’s warm to the touch. This one small step saves so much frustration.

Fry shallots at the right temperature. If your oil is too hot, the shallots burn before they crisp. Too cold, and they absorb oil like little sponges. Medium heat is your friend, and test with one ring first. They should sizzle gently and take about 3-4 minutes to turn golden. And please, please don’t walk away—shallots go from perfect to burnt in about 15 seconds.

Make ahead strategy. You can blanch the beans and make the sauce up to 2 days ahead. Store them separately in the fridge, then assemble and bake when you’re ready. Just add 5-10 minutes to the baking time since everything starts cold. The crispy shallots are best made fresh, but they’ll keep in an airtight container for 2 days.

Variations & Adaptations

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

Gluten-Free Version : 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—both crisp up beautifully. And use gluten-free panko for the topping.

Dairy-Free Version : Use olive oil or vegan butter in place of regular butter. Replace the milk with full-fat oat milk or unsweetened cashew milk—they’re creamy enough to work. Skip the Parmesan topping or use a dairy-free alternative. The sauce will be slightly less rich but still delicious.

Add Protein : Turn this into a main dish by adding 2 cups of shredded rotisserie chicken, cooked and crumbled bacon, or sautéed tofu. Stir the protein in with the beans before baking. My husband loves the version with crispy bacon bits mixed in—it’s basically a meal in itself.

Extra Veggie Boost : Add 1 cup of sliced mushrooms (beyond the ones in the sauce), a handful of fresh spinach stirred in at the end, or some roasted red peppers for color. I’ve even added leftover roasted Brussels sprouts—surprisingly good.

Spicy Kick : Add ¼ teaspoon cayenne pepper or red pepper flakes to the sauce for a subtle heat. Or drizzle sriracha over the top before serving if you’re feeling bold.

Serving & Storage Suggestions

This casserole is best served warm, straight from the oven, with those crispy shallots showered on top right before it hits the table. I like to set the baking dish on a trivet in the center of the table and let everyone scoop their own portion—it feels more communal and cozy.

What to serve with it: This dish is a natural companion to roasted turkey or chicken, but it also works beautifully alongside a juicy steak, roasted pork tenderloin, or even a simple baked salmon. For a vegetarian spread, pair it with creamy mashed potatoes, roasted root vegetables, and a crusty loaf of bread to soak up every last bit of sauce.

Storage: Leftovers keep in an airtight container in the refrigerator for up to 4 days. The shallots will soften over time, so if you’re planning to have leftovers, store them separately and add them when reheating. Reheat individual portions in the microwave for 1-2 minutes, or reheat the whole dish in a 350°F oven for 15-20 minutes until warmed through.

Freezing: You can freeze the assembled but unbaked casserole (without the shallots) for up to 3 months. Thaw overnight in the refrigerator, then bake as directed, adding 10-15 minutes to the cooking time. Add fresh crispy shallots after baking. I’ve done this for holiday prep, and it works like a charm.

Flavor development: Honestly, this casserole tastes even better the next day. The flavors meld together overnight, and the sauce thickens slightly, making it almost like a savory bread pudding. If you can resist eating it all at once, you’re in for a treat.

Nutritional Information & Benefits

Per serving (based on 8 servings): approximately 280 calories, 16g fat, 28g carbohydrates, 8g protein, 4g fiber, 6g sugar, 480mg sodium.

This homemade version is significantly lighter than the canned soup classic, with about 100 fewer calories per serving and far less sodium. The fresh green beans are packed with vitamin C, vitamin K, and fiber, while the mushrooms provide B vitamins and immune-supporting beta-glucans. Using whole milk and real butter gives you a dose of calcium and vitamin A without the processed additives found in canned cream soups.

For a lighter option, use 2% milk and reduce the butter to 2 tablespoons—you’ll still get a creamy sauce, just slightly less decadent. And if you’re watching your carb intake, this recipe is naturally lower in carbs than many holiday sides, especially if you skip the panko topping.

I love that this dish proves you don’t need processed ingredients to create something deeply satisfying. It’s comfort food that actually nourishes you, which is exactly the kind of cooking I believe in.

Conclusion

This homemade green bean casserole with crispy shallots is proof that the best recipes often come from questioning the classics. I started with a simple goal—make a version my Aunt Carol would actually eat—and ended up creating something that’s become a non-negotiable part of my holiday table. It’s creamy without being heavy, crispy without being greasy, and packed with flavor that makes you wonder why we ever reached for a can in the first place.

I’d love to hear how this recipe turns out for you. Did you try any variations? Did you convert any green bean casserole skeptics in your own life? Drop a comment below and let me know—I read every single one, and your stories honestly make my day. And if you loved this recipe, please share it with a friend who needs a little convincing. Happy cooking, friends!

Frequently Asked Questions

Can I use frozen green beans instead of fresh?

Yes, you can! Thaw them first and pat them very dry to remove excess moisture. Skip the blanching step since frozen beans are already blanched. Reduce the baking time by about 5 minutes since they’ll cook faster.

Why did my sauce turn out lumpy?

Lumpy sauce usually happens when you add cold milk to the flour mixture. Make sure your milk is warmed (microwave for 45 seconds) and pour it in slowly while whisking constantly. If lumps do form, you can strain the sauce through a fine-mesh sieve or blend it with an immersion blender.

Can I make the crispy shallots ahead of time?

You can, but they’re best fresh. If you need to make them ahead, store them in an airtight container at room temperature for up to 2 days. To re-crisp them, spread on a baking sheet and warm in a 300°F oven for 3-5 minutes.

How do I prevent the casserole from being watery?

Make sure you drain the blanched green beans thoroughly and pat them dry. Also, cook the mushroom sauce until it’s thick enough to coat the back of a spoon—it should be slightly thicker than you think because the beans will release some moisture during baking.

Can I double this recipe for a crowd?

Absolutely! Double all ingredients and use a 9×13-inch dish plus an 8×8-inch dish, or a large 11×15-inch baking dish. You may need to increase the baking time by 5-10 minutes since the dish will be fuller. Keep an eye on it and look for bubbly edges and a golden top.

Pin This Recipe!

homemade green bean casserole with crispy shallots recipe
Print

Homemade Green Bean Casserole with Crispy Shallots

This homemade green bean casserole with crispy shallots skips the canned soup entirely, offering a from-scratch mushroom cream sauce, fresh green beans, and golden, paper-thin shallots that shatter when you bite down. It’s the dish that converted a lifelong hater and will become a non-negotiable part of your holiday table.

  • Author: Jamie
  • Prep Time: 20 minutes
  • Cook Time: 35 minutes
  • Total Time: 55 minutes
  • Yield: 8 servings 1x
  • Category: Side Dish
  • Cuisine: American

Ingredients

Scale
  • 1½ pounds fresh green beans, trimmed and cut into 2-inch pieces
  • 1 tablespoon kosher salt, for blanching
  • Ice water bath, for shocking
  • 3 tablespoons unsalted butter
  • 12 ounces cremini mushrooms, thinly sliced
  • 1 medium yellow onion, finely diced (about 1 cup)
  • 4 cloves garlic, minced
  • ¼ cup all-purpose flour
  • 2 cups whole milk, warmed
  • 1 cup low-sodium chicken or vegetable broth
  • 1 teaspoon dried thyme
  • ½ teaspoon smoked paprika
  • ½ teaspoon black pepper, freshly ground
  • ½ teaspoon salt, plus more to taste
  • ¼ teaspoon ground nutmeg
  • 4 large shallots, thinly sliced into rings (about 1½ cups)
  • ½ cup all-purpose flour (for shallots)
  • ½ teaspoon salt (for shallots)
  • ¼ teaspoon black pepper (for shallots)
  • ¾ cup vegetable or canola oil, for frying
  • ½ cup panko breadcrumbs (optional)
  • 2 tablespoons melted butter (optional)
  • ¼ cup grated Parmesan cheese (optional)

Instructions

  1. Fill a large pot with water and bring to a rolling boil over high heat. Add 1 tablespoon kosher salt. Fill a large bowl with ice and cold water. Drop the trimmed green beans into the boiling water and cook for exactly 3 minutes. Drain immediately and plunge into the ice water bath. Let sit for 2-3 minutes until completely cool, then drain well and pat dry. Set aside.
  2. While the beans cool, heat ¾ cup oil in a small skillet over medium heat. In a shallow bowl, whisk together ½ cup flour, ½ teaspoon salt, and ¼ teaspoon pepper. Toss the shallot rings in the flour mixture, shaking off excess. Working in batches, fry the shallots for 3-4 minutes, stirring occasionally, until deep golden brown. Transfer to a paper towel-lined plate and sprinkle with a pinch of salt while still warm. Set aside.
  3. In a large skillet, melt 3 tablespoons butter over medium-high heat. Add the sliced mushrooms in a single layer. Cook without stirring for 3-4 minutes until deeply golden on one side, then stir and continue cooking for another 3-4 minutes until all moisture has evaporated and mushrooms are browned. Add the diced onion and cook for 3-4 minutes until translucent. Add the minced garlic and cook for 30 seconds until fragrant.
  4. Sprinkle ¼ cup flour over the mushroom mixture and stir constantly for 1-2 minutes. Slowly pour in the warmed milk while whisking continuously. Add the broth, thyme, smoked paprika, black pepper, salt, and nutmeg. Bring to a gentle simmer, then reduce heat to low and cook for 5-7 minutes, stirring occasionally, until the sauce thickens enough to coat the back of a spoon. Taste and adjust seasoning.
  5. Preheat oven to 375°F. Add the blanched green beans to the mushroom sauce and stir gently until every bean is coated. Pour the mixture into a greased 9×13-inch baking dish and spread into an even layer. If using the panko topping, mix the breadcrumbs with melted butter and Parmesan, then sprinkle evenly over the top.
  6. Bake for 20-25 minutes until the sauce is bubbly around the edges and the top is lightly golden. Remove from the oven and let rest for 5 minutes. Just before serving, scatter the crispy shallots generously over the top.

Notes

Don’t skip the blanching step—it ensures evenly cooked, vibrant green beans. Toast mushrooms properly by not overcrowding the pan. Warm milk before adding to the sauce to prevent lumps. Fry shallots at medium heat; they go from perfect to burnt quickly. For make-ahead, blanch beans and make sauce up to 2 days ahead, store separately, then assemble and bake, adding 5-10 minutes to baking time. Add crispy shallots after baking to keep them crisp.

Nutrition

  • Serving Size: 1 serving
  • Calories: 280
  • Sugar: 6
  • Sodium: 480
  • Fat: 16
  • Saturated Fat: 6
  • Carbohydrates: 28
  • Fiber: 4
  • Protein: 8

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

Did you make this recipe?

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

Share This Recipe

You might also love these recipes

Leave a Comment

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