Love this? Save it for later!
Share the inspiration with your friends
Let me tell you about the first time I tasted a green bean casserole that actually made me stop talking mid-sentence. I was at my neighbor’s house—not for dinner, just to drop off a package that got delivered to my place by mistake. Linda wasn’t trying to impress anyone that Tuesday evening. She was just making dinner for her family, something she’d done a thousand times before. But the smell that hit me when she cracked open the oven door? I forgot why I was even standing there.
Honestly, I’d written off green bean casserole years ago. You know the one—gloopy, canned-soup-heavy, with those rubbery fried onions that taste more like cardboard than onion. I thought that was just what it was supposed to be. But Linda’s version was different. It smelled like butter and garlic and something deeply savory, with a golden crust that promised crunch. She pulled it out of the oven, set it on the stovetop, and barely glanced at it. “Oh, that’s just something I throw together,” she said when I asked. Just something she throws together.
I stood there for another ten minutes pretending to check my phone while watching her dish it up. The way the creamy sauce clung to the green beans. The crispy shallots scattered on top—not from a can, but real, honest-to-goodness fried shallots. She caught me staring and laughed. “Here,” she said, handing me a spoon. “Taste it.” And that’s how I ended up eating green bean casserole standing in someone else’s kitchen on a random Tuesday, completely silent except for the occasional “mm-hmm” because I couldn’t stop long enough to form actual words.
Maybe you’ve been there—discovering that a dish you thought you knew could be completely transformed by someone who didn’t even realize they were doing anything special. That’s this recipe. It’s the one I begged Linda to write down for me, and the one I’ve been making ever since, tweaking it just a little to get it exactly right. It’s cozy, it’s comforting, and it’s nothing like the version you grew up with—unless you grew up with the really good kind.
Why You’ll Love This Recipe
I’ve tested this green bean casserole more times than I care to count, and let me tell you—it’s the one I bring to every potluck, every Thanksgiving, and every time I need something that feels like a hug in a baking dish. Here’s why it works:
- From-Scratch Flavor, No Stress: You’re making a real cream sauce from butter, cream, and chicken broth—but it comes together in about 10 minutes. No condensed soup cans needed.
- Simple Ingredients You Already Know: Fresh green beans, mushrooms, shallots, cream, butter. That’s it. Nothing weird or hard to find.
- Perfect for Cozy Evenings: This is the kind of dish you make when the weather turns cold and you want something warm and satisfying without spending hours in the kitchen.
- Crowd-Pleaser Guaranteed: I’ve served this to kids, picky eaters, and people who swore they hated green bean casserole. Every single person went back for seconds.
- That Crispy Shallot Topping: Honestly, this is the star of the show. Homemade fried shallots are ridiculously easy to make and so much better than anything from a can.
What makes this recipe different from every other green bean casserole out there? It’s the balance. The green beans stay bright and tender-crisp, not mushy. The sauce is rich but not heavy, with a subtle mushroom-and-garlic depth that builds as it bakes. And those crispy shallots? They stay crunchy even after the casserole has been sitting out for a while—something I’ve never managed with store-bought fried onions.
This isn’t just another version of green bean casserole. It’s the one that makes people close their eyes after the first bite. It’s comfort food at its finest—homemade, hearty, and made with the kind of care that you can actually taste.
What Ingredients You Will Need
This recipe uses simple, wholesome ingredients to deliver bold flavor and satisfying texture without any fuss. Most of these are pantry staples or easy to find at any grocery store. Let me walk you through each one.
For the Casserole
- 1 ½ pounds fresh green beans, trimmed and cut into 2-inch pieces (look for bright, firm beans with no brown spots—I prefer haricots verts when I can find them for a more tender bite)
- 2 tablespoons unsalted butter (adds richness to the sauce; I use Kerrygold for its creamy flavor)
- 8 ounces cremini mushrooms, thinly sliced (baby bellas work great here—they have more flavor than white button mushrooms)
- 3 cloves garlic, minced (fresh garlic only—don’t use the jarred stuff for this)
- 3 tablespoons all-purpose flour (helps thicken the cream sauce)
- 1 ½ cups chicken broth (use low-sodium so you can control the salt; vegetable broth works for a vegetarian version)
- 1 cup heavy cream (full-fat gives the best texture, but half-and-half works in a pinch)
- ½ teaspoon salt, plus more for blanching water
- ¼ teaspoon black pepper
- ¼ teaspoon garlic powder
- ⅛ teaspoon nutmeg, freshly grated if possible (trust me on this—it’s subtle but makes the sauce taste more complex)
For the Crispy Shallot Topping

- 4 large shallots, thinly sliced into rings (about 1 ½ cups; use a mandoline if you have one for even slices)
- ½ cup all-purpose flour
- ½ teaspoon salt
- ¼ teaspoon black pepper
- Vegetable or canola oil, for frying (about 1 ½ cups, enough for ½ inch depth in your pan)
Ingredient Notes & Substitutions:
- Green beans: Fresh is best here, but frozen green beans work in a pinch—just thaw and pat them dry before using. Canned green beans will be too soft for this recipe.
- Mushrooms: Cremini are my go-to, but shiitake or oyster mushrooms add an even earthier flavor. If you’re not a mushroom fan, you can leave them out—the sauce will still be delicious.
- Heavy cream: For a lighter version, use half-and-half or whole milk mixed with 1 tablespoon of melted butter. The sauce won’t be as thick, but it’ll still taste great.
- Shallots: If you can’t find shallots, use 1 large yellow onion sliced thin. The flavor will be slightly stronger, but still delicious.
- Flour: For a gluten-free version, use a 1:1 gluten-free all-purpose flour blend in both the sauce and the shallot coating.
Equipment Needed
You don’t need a fancy kitchen to make this green bean casserole. Here’s what you’ll need:
- Large pot for blanching the green beans (at least 4 quarts)
- Large bowl filled with ice water (for shocking the beans)
- Large skillet or sauté pan (I use a 12-inch stainless steel pan for the sauce; nonstick works fine too)
- Small saucepan or deep skillet for frying shallots (a 2-quart saucepan works perfectly)
- 9×13-inch baking dish (a 2-quart casserole dish works too)
- Slotted spoon or spider strainer for removing shallots from oil
- Paper towels for draining shallots
- Chef’s knife and cutting board
- Measuring cups and spoons
- Whisk for the sauce
If you don’t have a spider strainer, a regular slotted spoon works just fine. And if you’re using a mandoline for the shallots, please use the guard—I learned that one the hard way.
Preparation Method
Let me walk you through this step by step. The whole thing comes together in about 45 minutes, and most of that is hands-off baking time.
Step 1: Blanch the Green Beans
Bring a large pot of salted water to a rolling boil—I use about 1 tablespoon of salt per 4 quarts of water. Add the trimmed green beans and cook for exactly 3 minutes. You want them bright green and tender-crisp, not soft. While they’re cooking, fill a large bowl with ice water. When the 3 minutes are up, use a slotted spoon or tongs to transfer the beans straight into the ice water. This stops the cooking immediately and locks in that beautiful green color. Let them sit in the ice water for 2-3 minutes, then drain well and set aside.
Pro tip: Don’t skip the ice bath. I tried once thinking I could just drain them and move on, and they kept cooking from the residual heat. Mushy green beans are not what we’re going for here.
Step 2: Make the Crispy Shallots
While the beans are blanching, get your shallots ready. Peel and thinly slice them into rings—about ⅛ inch thick. In a shallow bowl, whisk together the flour, salt, and pepper. Toss the shallot rings in the flour mixture until they’re well coated. Shake off any excess flour.
Heat about ½ inch of oil in a small saucepan over medium heat. To test if it’s ready, drop a single shallot ring in—it should sizzle immediately. Working in batches to avoid crowding, 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 a shade lighter than you want. Use your slotted spoon to transfer them to a paper towel-lined plate. Sprinkle with a tiny pinch of salt while they’re still warm.
Warning: Shallots go from golden to burnt very quickly. Stay close to the stove and keep an eye on them. I’ve ruined more than one batch by getting distracted.
Step 3: Sauté the Mushrooms
In your large skillet, melt 2 tablespoons of butter over medium heat. Add the sliced mushrooms and cook, stirring occasionally, for 5-7 minutes until they release their liquid and start to brown. You’ll see the liquid evaporate and the mushrooms shrink down—that’s exactly what you want. Add the minced garlic and cook for another 30 seconds until fragrant.
Step 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 chicken broth while whisking continuously to prevent lumps. Then add the heavy cream, salt, pepper, garlic powder, and nutmeg. Bring the sauce to a gentle simmer—it should bubble softly, not furiously—and cook for 2-3 minutes until it thickens enough to coat the back of a spoon. Taste it and adjust the salt and pepper if needed.
Step 5: Assemble the Casserole
Preheat your oven to 375°F. Add the blanched green beans to the skillet with the sauce and stir until everything is well coated. Pour the mixture into your greased 9×13-inch baking dish and spread it into an even layer.
Step 6: Bake and Top
Bake the casserole for 20 minutes, uncovered. The sauce will bubble and thicken beautifully. Remove it from the oven and sprinkle the crispy shallots evenly over the top. Return to the oven and bake for another 5 minutes—just enough to warm the shallots through without burning them.
Let the casserole rest for 5 minutes before serving. This gives the sauce a chance to set up a little, so it doesn’t run all over the plate.
Cooking Tips & Techniques
After making this green bean casserole more times than I can count, here are the things I’ve learned the hard way so you don’t have to:
Don’t over-blanch the beans. Three minutes is the sweet spot. If you cook them longer, they’ll end up mushy after baking. If you under-cook them, they’ll be too crunchy. Set a timer—I always do.
Dry your shallots thoroughly. After you slice them, pat them dry with a paper towel before tossing them in flour. Any moisture will make the flour clump and the shallots won’t fry evenly. I learned this after a batch turned into a sticky, floury mess.
Use low heat for the sauce. When you add the cream and broth, keep the heat at medium-low. High heat can cause the cream to separate or scorch on the bottom of the pan. If you see little specks forming in the sauce, you’ve got the heat too high.
Make the shallots ahead of time. You can fry the shallots up to 2 days in advance and store them in an airtight container at room temperature. Just sprinkle them on right before the final 5-minute bake. This makes the whole process much smoother for holiday cooking.
Let it rest before serving. I know it’s tempting to dig in right away, but that 5-minute rest makes a real difference. The sauce thickens up, the flavors meld together, and you won’t burn your mouth on the first bite.
Double the shallots. Honestly, I always make extra. They’re amazing on salads, soups, and pretty much everything else. Plus, you’ll find yourself snacking on them while you cook, so having extra ensures you’ll actually have enough for the topping.
Variations & Adaptations
This green bean casserole is forgiving and easy to adapt. Here are some ways I’ve changed it up over the years:
Make it vegetarian: Use vegetable broth instead of chicken broth. The flavor will be slightly lighter, but still delicious. You can also add a tablespoon of nutritional yeast to the sauce for extra umami.
Make it gluten-free: Use a 1:1 gluten-free all-purpose flour blend in both the sauce and the shallot coating. I’ve tested this with Bob’s Red Mill and it works perfectly. Just make sure your broth is also gluten-free.
Add some protein: Stir in 1 ½ cups of cooked, shredded rotisserie chicken or diced leftover turkey to make it a full meal. Add it along with the green beans before baking.
Try different mushrooms: A mix of cremini, shiitake, and oyster mushrooms adds incredible depth. I did this for a Thanksgiving once and everyone asked what made it taste so “fancy.”
Go dairy-free: Substitute the butter with vegan butter or olive oil, and use full-fat coconut milk instead of heavy cream. The coconut flavor is subtle and actually pairs beautifully with the shallots.
Add a cheesy twist: Stir in ½ cup of grated Parmesan or Gruyère into the sauce before baking. It adds a salty, nutty flavor that takes this casserole to another level.
Seasonal swap: In the summer, use fresh asparagus instead of green beans. Cut them into 2-inch pieces and blanch for just 2 minutes. The rest of the recipe stays the same.
Serving & Storage Suggestions
This green bean casserole is best served warm, straight from the oven. The contrast between the creamy sauce and the crispy shallots is at its peak within the first 15 minutes. I like to serve it family-style in the baking dish, set right in the middle of the table so everyone can help themselves.
What to serve with it: This casserole is a natural side dish for roasted chicken, turkey, pork chops, or a holiday ham. It also pairs beautifully with mashed potatoes and a simple salad. For a cozy weeknight dinner, I’ll sometimes serve it alongside a piece of pan-seared salmon or even a hearty grain bowl.
Storage: Leftovers keep well in an airtight container in the refrigerator for up to 4 days. The shallots will lose some of their crunch, but the flavor will still be amazing. To reheat, place individual portions in the microwave for 1-2 minutes, or reheat the whole casserole in a 350°F oven for 15 minutes.
Freezing: You can freeze the assembled casserole (without the crispy shallot topping) for up to 3 months. Wrap the dish tightly in plastic wrap and then foil. When you’re ready to bake, thaw it overnight in the refrigerator, then bake as directed. Add the crispy shallots during the final 5 minutes of baking.
Make-ahead tip: You can blanch the green beans and make the sauce up to 2 days in advance. Store them separately in the refrigerator, then combine and bake when you’re ready. The shallots should always be made fresh for the best crunch.
Flavor development: Honestly, this casserole tastes even better the next day. The flavors have time to meld together, and the sauce gets even creamier. If you have leftovers, consider yourself lucky.
Nutritional Information & Benefits
Here’s the estimated nutritional breakdown for one serving (about 1 cup, based on 8 servings per recipe):
| Nutrient | Amount per Serving |
|---|---|
| Calories | 285 |
| Total Fat | 18g |
| Saturated Fat | 10g |
| Cholesterol | 50mg |
| Sodium | 480mg |
| Total Carbohydrates | 22g |
| Dietary Fiber | 4g |
| Sugars | 6g |
| Protein | 6g |
| Vitamin A | 20% DV |
| Vitamin C | 15% DV |
| Iron | 10% DV |
| Calcium | 8% DV |
Health highlights: Green beans are packed with vitamin C, vitamin K, and fiber, which supports digestive health. Mushrooms provide B vitamins and selenium, an important antioxidant. Shallots contain quercetin, a compound with anti-inflammatory properties. This dish is a great way to get your vegetables in a form that feels indulgent and satisfying.
Dietary considerations: This recipe is vegetarian-friendly if you use vegetable broth. It’s not suitable for vegan, dairy-free, or gluten-free diets as written, but see the variations section for easy substitutions.
Potential allergens: This recipe contains dairy (butter, heavy cream) and gluten (flour). It does not contain eggs, nuts, soy, or shellfish.
Conclusion
This green bean casserole has become my go-to for every holiday, every potluck, and every cozy night when I need something that feels like home. It’s the dish that made me rethink everything I thought I knew about a classic—and it might just do the same for you.
What I love most about this recipe is how it honors the original while making it so much better. You still get that creamy, savory, crunchy experience, but everything tastes fresher, brighter, and more real. It’s the kind of dish that doesn’t need to be fancy to be memorable—it just needs to be made with care.
I’d love to hear how yours turns out. Did you try any of the variations? Did you double the shallots like I always do? Drop a comment below and let me know—and don’t forget to share a photo if you make it. There’s something special about knowing this recipe is being made in kitchens all over, bringing a little warmth and comfort to someone’s table.
Go ahead, make it for your next gathering. I promise you’ll be the one someone asks for the recipe.
Frequently Asked Questions
Can I use frozen green beans instead of fresh?
Yes, you can. Thaw them first and pat them dry with paper towels to remove excess moisture. Skip the blanching step—frozen beans have already been blanched before freezing. Just add them directly to the sauce and proceed with the recipe.
Why are my crispy shallots turning out bitter?
This usually happens when the oil is too hot or you’re cooking them too long. Shallots go from golden to burnt very quickly. Keep the heat at medium and watch them closely. As soon as they turn a light golden brown, remove them from the oil—they’ll continue to darken as they cool.
Can I make this casserole ahead of time?
Absolutely. You can assemble the casserole (without the shallot topping) up to 2 days in advance and store it covered in the refrigerator. When you’re ready to bake, add about 10 minutes to the baking time since it’ll be starting from cold. Add the crispy shallots during the final 5 minutes.
How do I prevent my sauce from being too thin or too thick?
If your sauce is too thin, let it simmer for an extra 2-3 minutes to reduce. If it’s too thick, whisk in a splash of chicken broth or milk until it reaches the right consistency. The sauce should coat the back of a spoon but still be pourable.
Can I skip the mushrooms?
Yes, you can leave them out if you’re not a fan. The sauce will still be creamy and flavorful, though it will be slightly less complex. I’d recommend adding an extra tablespoon of butter to compensate for the lost richness.
Pin This Recipe!

Cozy Homemade Green Bean Casserole with Crispy Shallots
This from-scratch green bean casserole features tender-crisp green beans in a rich, creamy mushroom sauce, topped with homemade crispy shallots. It’s a cozy, comforting side dish that’s perfect for holidays or weeknight dinners.
- Prep Time: 15 minutes
- Cook Time: 30 minutes
- Total Time: 45 minutes
- Yield: 8 servings 1x
- Category: Side Dish
- Cuisine: American
Ingredients
- 1 ½ pounds fresh green beans, trimmed and cut into 2-inch pieces
- 2 tablespoons unsalted butter
- 8 ounces cremini mushrooms, thinly sliced
- 3 cloves garlic, minced
- 3 tablespoons all-purpose flour
- 1 ½ cups low-sodium chicken broth
- 1 cup heavy cream
- ½ teaspoon salt, plus more for blanching water
- ¼ teaspoon black pepper
- ¼ teaspoon garlic powder
- ⅛ teaspoon freshly grated 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)
- Vegetable or canola oil, for frying (about 1 ½ cups)
Instructions
- Bring a large pot of salted water to a boil. Add green beans and cook for exactly 3 minutes. Transfer to an ice water bath to stop cooking. Drain and set aside.
- In a shallow bowl, whisk together ½ cup flour, ½ teaspoon salt, and ¼ teaspoon pepper. Toss shallot rings in the flour mixture until coated. Shake off excess.
- Heat about ½ inch of oil in a small saucepan over medium heat. Fry shallots in batches for 2-3 minutes until golden brown. Transfer to paper towels and sprinkle with a pinch of salt.
- In a large skillet, melt 2 tablespoons butter over medium heat. Add mushrooms and cook for 5-7 minutes until browned. Add garlic and cook 30 seconds.
- Sprinkle 3 tablespoons flour over mushrooms and stir for 1 minute. Slowly whisk in chicken broth, then heavy cream, ½ teaspoon salt, ¼ teaspoon pepper, garlic powder, and nutmeg. Simmer for 2-3 minutes until thickened.
- Preheat oven to 375°F. Add blanched green beans to the sauce and stir to coat. Transfer to a greased 9×13-inch baking dish.
- Bake uncovered for 20 minutes. Remove from oven, top with crispy shallots, and bake for another 5 minutes. Let rest 5 minutes before serving.
Notes
Don’t over-blanch the beans—3 minutes is perfect. Dry shallots thoroughly before coating in flour to ensure even frying. Make shallots up to 2 days ahead and store in an airtight container. Let casserole rest 5 minutes before serving to allow sauce to set. Double the shallots for extra crunch.
Nutrition
- Serving Size: 1 cup
- Calories: 285
- Sugar: 6
- Sodium: 480
- Fat: 18
- Saturated Fat: 10
- Carbohydrates: 22
- Fiber: 4
- Protein: 6
Keywords: green bean casserole, homemade, crispy shallots, Thanksgiving side dish, comfort food, from scratch


