This green bean casserole from scratch is the Thanksgiving side dish that converts even the canned-soup loyalists. Crisp-tender fresh green beans are folded into a rich, homemade mushroom cream sauce — no can opener required — and baked under a golden blanket of crispy fried shallots and buttery Parmesan panko. It tastes like the classic casserole everyone expects on the holiday table, only fresher, deeper, and unmistakably homemade.
If you have only ever had the version made with condensed soup, this one will ruin you for it in the best way. The sauce is silky and savory with real browned mushrooms, a splash of soy sauce for depth, and just enough nutmeg to taste like the holidays. The topping stays crunchy because the shallots go on twice: some folded in for texture, and the rest scattered on top so every scoop has crunch.
Best of all, this is a make-ahead dream. Assemble it up to two days before Thanksgiving, stash it in the fridge, add the topping, and bake. One less thing to juggle on the big day.
Why This Recipe Works
- No canned soup, all flavor. Browning real mushrooms builds a deep, savory sauce that condensed soup simply cannot match.
- Crisp-tender beans, never mushy. A quick 3-minute blanch sets the color and texture, and the beans finish perfectly in the oven.
- A topping that stays crunchy. Crispy fried shallots plus buttery Parmesan panko means crunch in every single bite.
- Make-ahead friendly. Assemble up to 2 days early; bake straight from the fridge with 10 extra minutes.
- Feeds a crowd. One 9×13-inch dish serves 8 generously, and it doubles easily for a big table.
Ingredients
- 2 pounds fresh green beans, trimmed and cut into 2-inch pieces
- 2 tablespoons unsalted butter, plus 2 tablespoons for the topping
- 1 tablespoon olive oil
- 1 pound cremini mushrooms, thinly sliced
- 1 small yellow onion, finely diced
- 3 cloves garlic, minced
- 3 tablespoons all-purpose flour
- 1 1/2 cups whole milk
- 1/2 cup heavy cream
- 1/2 cup low-sodium chicken or vegetable broth
- 1 tablespoon soy sauce
- 1/2 teaspoon Dijon mustard
- 1/4 teaspoon ground nutmeg
- 1 teaspoon kosher salt, plus more to taste
- 1/2 teaspoon freshly ground black pepper
- 1 1/2 cups crispy fried shallots or French fried onions, divided
- 1/2 cup panko breadcrumbs
- 1/3 cup grated Parmesan cheese
- 2 tablespoons chopped fresh parsley, for serving

How to Make Green Bean Casserole From Scratch
1. Blanch the green beans
Preheat the oven to 375°F (190°C) and butter a 9×13-inch baking dish. Bring a large pot of salted water to a boil, add the green beans, and cook for 3 to 4 minutes until bright green and crisp-tender. Drain and shock them in ice water, then drain well and pat dry. This step is non-negotiable: it locks in the color and guarantees the beans finish crisp-tender, never squeaky or mushy.
2. Brown the mushrooms
In a large skillet over medium-high heat, melt 2 tablespoons butter with the olive oil. Add the mushrooms in a single layer and do not stir for 4 to 5 minutes — that undisturbed contact is what creates deep browning. Stir, cook 3 minutes more, then add the onion and cook until softened. Stir in the garlic for 30 seconds until fragrant.
3. Build the mushroom cream sauce
Sprinkle the flour over the mushrooms and stir for 1 minute to cook off the raw flour taste. Slowly whisk in the milk, cream, and broth until smooth, then simmer 4 to 5 minutes, stirring often, until the sauce thickly coats the back of a spoon. Stir in the soy sauce, Dijon, nutmeg, salt, and pepper. Taste it now: the sauce should taste rich and well-salted on its own, because the beans will dilute it slightly.

4. Assemble the casserole
Toss the blanched green beans with the mushroom sauce and 1 cup of the crispy fried shallots, then spread everything into the prepared baking dish in an even layer.
5. Add the topping and bake
Stir together the panko, Parmesan, and melted butter, then sprinkle it over the casserole along with the remaining 1/2 cup crispy shallots. Bake for 25 to 30 minutes, until the sauce bubbles around the edges and the topping is deep golden brown. Rest for 10 minutes so the sauce thickens, then sprinkle with parsley and serve warm.

Pro Tips for the Best Green Bean Casserole
- Do not crowd the mushrooms. A crowded pan steams them instead of browning them. Cook in a single layer, in batches if your skillet is small.
- Make the sauce thick. It loosens as the beans release water in the oven, so simmer until it coats a spoon before assembling.
- Salt the sauce generously. Underseasoned sauce is the number one reason a from-scratch casserole tastes flat.
- Add the topping at the last minute. If you assemble ahead, keep the panko and shallots separate until baking so they stay crisp.
- Rest before serving. Ten minutes turns a loose sauce into a silky one that clings to every bean.
Variations
- Cheesy green bean casserole: Stir 1 cup shredded Gruyère or sharp white cheddar into the hot sauce until melted.
- Bacon green bean casserole: Fold in 6 slices of cooked, crumbled bacon with the beans, and sprinkle extra on top.
- Spicy green bean casserole: Add 1/4 teaspoon cayenne or a pinch of red pepper flakes to the sauce.
- Gluten-free: Swap the flour for a 1-to-1 gluten-free flour blend and use gluten-free panko.
- Vegetarian: Use vegetable broth instead of chicken broth — the soy sauce keeps the sauce deeply savory either way.
Make Ahead and Storage
Make ahead: Assemble the casserole without the topping up to 2 days ahead, cover tightly, and refrigerate. When ready to bake, add the topping and bake at 375°F for 35 to 40 minutes (10 minutes longer than usual).
Leftovers: Refrigerate in an airtight container for up to 4 days. Reheat, covered, at 350°F for 20 minutes, then uncover for 5 minutes to re-crisp the top.
Freezing: This casserole freezes well before baking (without the topping) for up to 2 months. Thaw overnight in the fridge, add the topping, and bake as directed.
Frequently Asked Questions
Can I use frozen green beans?
Yes. Thaw them completely and pat them very dry, then skip the blanching step. Frozen beans are softer than fresh, so reduce the bake time by about 5 minutes and watch the topping closely.
Can I use canned green beans?
You can, but fresh beans give a far better texture. If using canned, drain them well, skip blanching, and expect a softer casserole.
What are crispy fried shallots?
Thinly sliced shallots fried until golden and crunchy. They are sold in jars in many grocery stores, or you can use canned French fried onions as an easy substitute.
Why is my sauce thin?
The sauce was likely under-simmered. It should thickly coat a spoon before you assemble the casserole. If it is already baked and thin, let it rest a full 15 minutes — it thickens considerably as it cools.
Can I double this recipe?
Absolutely. Use two 9×13-inch dishes rather than one giant pan, so the topping stays crisp and the casserole bakes evenly.
Green Bean Casserole From Scratch
Ingredients
- 2 pounds fresh green beans trimmed and cut into 2-inch pieces
- 2 tablespoons unsalted butter plus 2 tablespoons for the topping
- 1 tablespoon olive oil
- 1 pound cremini mushrooms thinly sliced
- 1 small yellow onion finely diced
- 3 cloves garlic minced
- 3 tablespoons all-purpose flour
- 1 1/2 cups whole milk
- 1/2 cup heavy cream
- 1/2 cup low-sodium chicken or vegetable broth
- 1 tablespoon soy sauce
- 1/2 teaspoon Dijon mustard
- 1/4 teaspoon ground nutmeg
- 1 teaspoon kosher salt plus more to taste
- 1/2 teaspoon freshly ground black pepper
- 1 1/2 cups crispy fried shallots or French fried onions divided
- 1/2 cup panko breadcrumbs
- 1/3 cup grated Parmesan cheese
- 2 tablespoons chopped fresh parsley for serving
Instructions
- Preheat the oven to 375°F (190°C). Butter a 9×13-inch baking dish.
- Blanch the green beans: bring a large pot of salted water to a boil. Add the green beans and cook for 3 to 4 minutes, until bright green and crisp-tender. Drain and immediately transfer to a bowl of ice water to stop the cooking. Drain well and pat dry.
- Sauté the mushrooms: in a large skillet over medium-high heat, melt 2 tablespoons butter with the olive oil. Add the mushrooms in a single layer and cook, without stirring, for 4 to 5 minutes until deeply browned. Stir and cook 3 minutes more. Add the onion and cook 3 minutes until softened, then add the garlic and cook 30 seconds until fragrant.
- Make the sauce: sprinkle the flour over the mushrooms and stir for 1 minute to cook off the raw flour taste. Slowly whisk in the milk, cream, and broth until smooth. Bring to a gentle simmer and cook 4 to 5 minutes, stirring often, until thick enough to coat the back of a spoon. Stir in the soy sauce, Dijon, nutmeg, salt, and pepper. Taste and adjust the seasoning — the sauce should taste rich and well-salted on its own.
- Assemble: in a large bowl, toss the blanched green beans with the mushroom sauce and 1 cup of the crispy fried shallots. Spread into the prepared baking dish in an even layer.
- Make the topping: in a small bowl, stir together the panko, Parmesan, and the remaining 2 tablespoons melted butter until the crumbs are evenly moistened.
- Bake: sprinkle the panko mixture and the remaining 1/2 cup crispy fried shallots over the casserole. Bake for 25 to 30 minutes, until the sauce is bubbling around the edges and the topping is deep golden brown.
- Rest and serve: let the casserole rest for 10 minutes so the sauce thickens slightly. Sprinkle with fresh parsley and serve warm.