Written by

Harmony Rich

Published

Homemade Green Bean Casserole with Crispy Shallots

Ready In 60 minutes
Servings 8 servings
Difficulty Medium

Love this? Save it for later!

Share the inspiration with your friends

My nephew asked why I couldn’t just use fresh green beans instead of canned. I was about to launch into my well-rehearsed speech about tradition and convenience and how some things are just meant to be a certain way. Then I stopped. I honestly had no good reason. I mean, I used fresh everything else in my kitchen, so why was I clinging to that sad little can of green beans? I grabbed a bag of fresh beans from my fridge, and let me tell you, that decision changed everything.

The kitchen was a mess, of course. I had flour on my apron, shallot skins stuck to my counter, and my nephew was licking the cream sauce off the spatula when he thought I wasn’t looking. But the smell coming from my oven was something else entirely. It wasn’t the familiar, slightly processed scent of a holiday standby. It was deep, savory, and honest—the smell of real food doing exactly what it was supposed to do.

That first bite of homemade green bean casserole with crispy shallots was a moment. The beans were still a little snappy, the sauce was creamy without being gluey, and those shallots? Honestly, they were the star. You know that feeling when you realize you’ve been doing something the hard way for years, and the easy way was actually better all along? That was this casserole. It’s the kind of recipe that makes you wonder why we ever settled for canned soup in the first place. And now, it’s the only version I make—every Thanksgiving, every potluck, every Tuesday night when I need a little comfort.

Why You’ll Love This Recipe

Let me be straight with you—I’ve tested this homemade green bean casserole more times than I care to count. I’ve burned the roux, overseasoned the sauce, and once, I forgot the mushrooms entirely. But this version? It’s the one I keep coming back to. It has that perfect balance of creamy, crunchy, and savory that makes everyone ask for seconds.

  • No Canned Soup Required: You get to control every ingredient. No mystery thickeners, no excessive sodium, just real, wholesome cream sauce made from scratch.
  • Crispy Shallots That Actually Stay Crispy: None of that sad, soggy topping situation. These shallots stay shatter-crisp for hours, thanks to a little trick I picked up from a chef friend.
  • Perfect for Holiday Tables: This green bean casserole fits right in alongside turkey, mashed potatoes, and all your other Thanksgiving favorites. It’s fancy enough for company but easy enough for a Tuesday.
  • Make-Ahead Friendly: You can prep everything the day before and just pop it in the oven. Your future self will thank you.
  • Real Vegetable Flavor: The fresh green beans stay vibrant and slightly firm, and the mushrooms add this deep, earthy flavor that canned soup just can’t match.

I honestly think this is the best green bean casserole I’ve ever made. It’s comfort food that doesn’t leave you feeling heavy. And when you bring it to a gathering, people will ask for the recipe—I guarantee it.

What Ingredients You Will Need

This homemade green bean casserole uses simple, wholesome ingredients to build layers of flavor. Most of these are pantry staples, but a few fresh ingredients make all the difference.

For the Green Bean Casserole

  • Fresh green beans, 1 ½ pounds, trimmed and cut into 2-inch pieces (look for bright, crisp beans that snap when bent; I prefer thinner French-style beans for a more tender texture)
  • Cremini mushrooms, 8 ounces, sliced (these have more flavor than white button mushrooms; baby bellas work great here)
  • Yellow onion, 1 medium, finely diced
  • Garlic, 3 cloves, minced
  • Unsalted butter, 4 tablespoons (I use Kerrygold for its rich flavor)
  • All-purpose flour, ¼ cup
  • Whole milk, 2 cups (warm; this helps prevent lumps in the sauce)
  • Heavy cream, ½ cup (adds richness without making the sauce too heavy)
  • Chicken or vegetable broth, ½ cup (low-sodium so you can control the salt)
  • Fresh thyme, 2 teaspoons, chopped (or 1 teaspoon dried)
  • Salt, 1 teaspoon, plus more to taste
  • Black pepper, ½ teaspoon, freshly ground
  • Nutmeg, ¼ teaspoon, freshly grated (this is my secret ingredient—don’t skip it)

For the Crispy Shallots

homemade green bean casserole preparation steps

  • Shallots, 4 large, thinly sliced into rings (about 2 cups sliced)
  • All-purpose flour, ½ cup
  • Salt, ½ teaspoon
  • Black pepper, ¼ teaspoon
  • Vegetable or canola oil, for frying (enough for about 1 inch in your skillet)

For the Topping

  • Panko breadcrumbs, ½ cup (they stay crunchier than regular breadcrumbs)
  • Parmesan cheese, ¼ cup, freshly grated (adds a salty, umami kick)
  • Butter, 2 tablespoons, melted

Substitution Note: If you need a dairy-free version, use olive oil instead of butter, unsweetened oat milk for the cream sauce, and nutritional yeast in place of Parmesan. For a gluten-free option, swap the all-purpose flour with a 1-to-1 gluten-free flour blend and use gluten-free panko.

Equipment Needed

You don’t need any fancy gadgets for this homemade green bean casserole, but a few key tools will make your life easier.

  • Large pot for blanching the green beans
  • Large skillet or sauté pan for the mushroom sauce (I love my cast iron for this)
  • Small saucepan for frying the shallots
  • 9×13-inch baking dish (or any 3-quart casserole dish)
  • Slotted spoon for removing the crispy shallots from the oil
  • Whisk for making the cream sauce without lumps
  • Chef’s knife and cutting board
  • Paper towels for draining the shallots

If you don’t have a deep-fry thermometer, don’t worry—you can test the oil by dropping a shallot ring in. If it sizzles immediately, you’re good to go. And if you’re short on time, you can skip the homemade crispy shallots and use store-bought fried onions, but honestly, the homemade version is so much better that it’s worth the extra 10 minutes.

Preparation Method

Step 1: Blanch the Green Beans

Bring a large pot of salted water to a boil. Add the trimmed green beans and cook for exactly 3 minutes. You want them tender-crisp, not mushy. Immediately transfer them to a bowl of ice water to stop the cooking process. Drain well and set aside. This step keeps your green bean casserole from turning into a sad, soggy mess.

Step 2: Make the Crispy Shallots

Heat about 1 inch of oil in a small saucepan to 325°F. While the oil heats, toss the sliced shallots with the flour, salt, and pepper in a bowl. Shake off any excess flour. Fry the shallots in batches, being careful not to crowd the pan. Cook for 2-3 minutes, stirring occasionally, until golden brown. Use a slotted spoon to transfer them to a paper towel-lined plate. Season with a pinch of salt while they’re still warm. Trust me on this—they’ll disappear before you even finish the casserole.

Step 3: Sauté the Mushrooms and Onions

In a large skillet, melt 2 tablespoons of butter over medium-high heat. Add the sliced mushrooms and diced onion. Cook for 6-8 minutes, stirring occasionally, until the mushrooms have released their liquid and started to brown. Add the minced garlic and cook for 30 seconds until fragrant. The smell at this point is absolutely incredible.

Step 4: Make the Cream Sauce

Reduce the heat to medium. Add the remaining 2 tablespoons of butter to the skillet. Once melted, sprinkle the flour over the vegetables and stir constantly for 1-2 minutes. This cooks out the raw flour taste. Slowly pour in the warm milk while whisking continuously. Add the heavy cream and broth. Keep whisking until the sauce thickens, about 3-4 minutes. It should coat the back of a spoon. Stir in the fresh thyme, salt, pepper, and nutmeg. Taste it—I dare you not to grab a spoonful.

Step 5: Assemble the Casserole

Preheat your oven to 375°F. In a large bowl, combine the blanched green beans with the cream sauce. Stir gently until everything is well coated. Pour the mixture into your greased baking dish and spread it into an even layer.

Step 6: Add the Topping

In a small bowl, mix the panko breadcrumbs, grated Parmesan, and melted butter. Sprinkle this mixture evenly over the casserole. Reserve about half of your crispy shallots for the final garnish.

Step 7: Bake

Bake the green bean casserole for 20-25 minutes, until the sauce is bubbly and the topping is golden brown. Remove from the oven and let it rest for 5 minutes. Sprinkle the remaining crispy shallots on top right before serving. This keeps them shatter-crisp and beautiful.

Cooking Tips & Techniques

I’ve made this homemade green bean casserole at least a dozen times, and I’ve learned a few things the hard way so you don’t have to.

Don’t overcook the green beans. I know it’s tempting to blanch them longer, but remember—they’ll cook again in the oven. Three minutes is perfect. You want them to still have a little bite.

Warm your milk before adding it to the roux. Cold milk will seize up the flour mixture and give you lumpy sauce. I just microwave mine for 45 seconds. It makes a huge difference.

Fry the shallots at the right temperature. If your oil is too hot, they’ll burn. Too cold, and they’ll absorb all the oil and turn greasy. Keep it at 325°F, and watch them carefully. They go from golden to burnt in about 30 seconds.

Make the sauce ahead of time. You can prepare the cream sauce up to two days in advance and store it in the fridge. Just reheat it gently before assembling the casserole. This is a lifesaver during the holidays.

Don’t skip the nutmeg. I know it sounds weird, but a tiny bit of freshly grated nutmeg brings out the earthiness of the mushrooms and adds this subtle warmth that makes the whole dish taste more complex. It’s one of those little things that separates a good casserole from a great one.

Variations & Adaptations

This green bean casserole is flexible, so feel free to make it your own.

Add Bacon: Cook 4 slices of bacon until crispy, crumble them, and stir half into the cream sauce. Sprinkle the rest on top with the crispy shallots. Honestly, bacon makes everything better.

Go Dairy-Free: Use olive oil instead of butter, unsweetened oat milk for the sauce, and skip the Parmesan. The sauce won’t be quite as rich, but it’s still delicious. I’ve made this for a friend with a dairy allergy, and she said it was the best green bean casserole she’d ever had.

Add More Vegetables: Sauté some diced bell peppers or zucchini with the mushrooms for extra color and nutrition. I’ve also added roasted cauliflower florets, and it was amazing.

Make It a Main Dish: Stir in 2 cups of shredded rotisserie chicken or cooked sausage. Serve it over rice or mashed potatoes for a complete meal. This is my go-to on busy weeknights.

Try Different Mushrooms: Cremini are great, but you can also use shiitake, oyster, or a mix of wild mushrooms. Each variety adds its own unique flavor. I once used a mix of chanterelles and morels, and it was absolutely divine.

Serving & Storage Suggestions

This homemade green bean casserole is best served warm, right out of the oven. The contrast between the hot, creamy casserole and the crispy shallots on top is pure magic. I like to let it rest for 5 minutes before serving so the sauce sets up a little.

It pairs beautifully with roasted turkey, mashed potatoes, and cranberry sauce for a classic Thanksgiving dinner. But honestly, it’s also great alongside a simple roast chicken or even a seared steak. For a lighter meal, serve it with a crisp green salad dressed with lemon vinaigrette.

Storage: Leftover green bean casserole will keep in an airtight container in the refrigerator for up to 4 days. The flavors actually meld together overnight and get even better. The crispy shallots will soften, but that’s okay—just add fresh ones on top when you reheat.

To Reheat: Place individual portions in the microwave for 1-2 minutes. For the whole casserole, cover with foil and reheat in a 350°F oven for 15-20 minutes. If you want to recrisp the topping, remove the foil for the last 5 minutes.

Freezer Instructions: Assemble the casserole but don’t add the topping or crispy shallots. Cover tightly with plastic wrap and foil, and freeze for up to 3 months. Thaw overnight in the refrigerator, then add the topping and bake as directed. Add the crispy shallots after baking.

Nutritional Information & Benefits

While this homemade green bean casserole is definitely a comfort food, it has some redeeming nutritional qualities. One serving (about 1 cup) contains approximately:

  • Calories: 280
  • Fat: 18g
  • Carbohydrates: 24g
  • Fiber: 4g
  • Protein: 8g
  • Sodium: 480mg

Green beans are a good source of vitamin C, vitamin K, and fiber. Mushrooms provide B vitamins and selenium, which supports immune function. By making the sauce from scratch, you control the sodium content—a huge advantage over the canned soup version, which can pack over 800mg of sodium per serving.

This recipe is vegetarian as written. For a lower-carb version, you can reduce the flour in the sauce and use heavy cream instead of milk. The nutmeg I mentioned earlier also has anti-inflammatory properties, so you’re basically eating health food, right?

Conclusion

This homemade green bean casserole with crispy shallots is proof that sometimes the best recipes come from questioning tradition. I never would have tried it if my nephew hadn’t called me out on my canned-bean habit, and now I can’t imagine going back. The fresh green beans, the creamy from-scratch sauce, and those impossibly crispy shallots make this dish something truly special.

I honestly think this is one of those recipes that will become a staple in your kitchen. It’s perfect for holidays, but it’s also easy enough for a regular dinner. And the best part? You can tweak it to make it your own. Add bacon, swap the mushrooms, go dairy-free—it’s all good.

So here’s my challenge to you: make this green bean casserole for your next gathering. Watch the faces of your family and friends as they take that first bite. And when they ask for the recipe—because they will—send them my way. I can’t wait to hear how it turns out for you!

Frequently Asked Questions

Can I use frozen green beans instead of fresh?

Yes, you can use frozen green beans, but I recommend thawing them first and patting them dry. You can skip the blanching step since frozen beans are already par-cooked. Just add them directly to the cream sauce.

How do I keep the crispy shallots from getting soggy?

The key is to add them right before serving. I also recommend storing any leftover crispy shallots in an airtight container at room temperature, not in the refrigerator. The moisture in the fridge will make them soft.

Can I make this green bean casserole ahead of time?

Absolutely! Assemble the casserole completely (without the topping and crispy shallots) up to 24 hours in advance. Cover and refrigerate. When you’re ready to bake, add the topping and add about 10 minutes to the baking time since it’s starting from cold. Add the crispy shallots after baking.

What’s the best way to reheat leftovers?

For individual servings, the microwave works fine. For a whole casserole, reheat in a 350°F oven for 15-20 minutes. If the topping has gotten soft, you can sprinkle on some fresh panko and broil for 1-2 minutes to crisp it up again.

Can I skip the mushrooms?

Yes, if you’re not a mushroom fan, you can leave them out. The casserole will still be creamy and delicious. I recommend adding an extra ½ cup of diced celery or finely chopped carrots for texture and flavor.

Pin This Recipe!

homemade green bean casserole recipe

Print

Homemade Green Bean Casserole with Crispy Shallots

A fresh take on the classic holiday side dish, featuring crisp-tender green beans, a creamy from-scratch mushroom sauce, and impossibly crispy shallots. This recipe proves that homemade is always better than canned.

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

Ingredients

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

Instructions

  1. Bring a large pot of salted water to a boil. Add the trimmed green beans and cook for exactly 3 minutes. Immediately transfer to a bowl of ice water to stop the cooking. Drain well and set aside.
  2. Heat about 1 inch of oil in a small saucepan to 325°F. Toss the sliced shallots with ½ cup flour, ½ teaspoon salt, and ¼ teaspoon pepper. Shake off excess flour. Fry shallots in batches for 2-3 minutes until golden brown. Transfer to a paper towel-lined plate and season with a pinch of salt while warm.
  3. In a large skillet, melt 2 tablespoons butter over medium-high heat. Add mushrooms and diced onion. Cook for 6-8 minutes until mushrooms release their liquid and start to brown. Add garlic and cook for 30 seconds until fragrant.
  4. Reduce heat to medium. Add remaining 2 tablespoons butter. Once melted, sprinkle ¼ cup flour over vegetables and stir constantly for 1-2 minutes. Slowly pour in warm milk while whisking continuously. Add heavy cream and broth. Whisk until sauce thickens, about 3-4 minutes. Stir in thyme, 1 teaspoon salt, ½ teaspoon pepper, and nutmeg.
  5. Preheat oven to 375°F. In a large bowl, combine blanched green beans with cream sauce. Stir gently until well coated. Pour into a greased 9×13-inch baking dish and spread into an even layer.
  6. In a small bowl, mix panko breadcrumbs, Parmesan, and melted butter. Sprinkle evenly over the casserole. Reserve about half of the crispy shallots for garnish.
  7. Bake for 20-25 minutes until bubbly and golden brown. Let rest for 5 minutes. Sprinkle remaining crispy shallots on top right before serving.

Notes

For dairy-free: use olive oil instead of butter, unsweetened oat milk, and nutritional yeast in place of Parmesan. For gluten-free: use a 1-to-1 gluten-free flour blend and gluten-free panko. The crispy shallots can be made ahead and stored in an airtight container at room temperature. Add them right before serving to keep them crisp.

Nutrition

  • Serving Size: 1 cup
  • Calories: 280
  • Sugar: 6
  • Sodium: 480
  • Fat: 18
  • Saturated Fat: 10
  • Carbohydrates: 24
  • Fiber: 4
  • Protein: 8

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

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