Ditch the condensed soup and try this Homemade Green Bean Casserole made entirely from scratch. Fresh green beans are combined with a creamy, cheesy béchamel-style sauce, sautéed mushrooms, and a crunchy topping of crispy fried shallots for a classic holiday side that tastes far superior to the canned version.

I’m focused on Thanksgiving and have been testing and refining favorite holiday recipes. This Homemade Green Bean Casserole was a recent success: made from fresh ingredients, it delivers bright green beans, savory mushroom flavor, and a rich cheese sauce, finished with crisp fried shallots that provide the perfect texture contrast.
Serve this casserole alongside roasted poultry, mashed potatoes, and your other Thanksgiving favorites for a comforting, crowd-pleasing side.

Why you’ll love this recipe
- This homemade green bean casserole is made 100% from scratch using fresh ingredients—no condensed soup—so the flavors and texture are much better than the canned version.
- The creamy, cheesy sauce and sautéed mushrooms give it depth, while the fried shallots add irresistible crispness.
- You can prep components in advance: green beans can be blanched a day or two ahead, and the casserole can be assembled and refrigerated until baking time.
Recipe ingredients

- Fresh green beans: Use fresh for the best texture and flavor. Trim and cut them into bite-sized pieces, then blanch until crisp-tender.
- Whole milk: For a rich, creamy sauce.
- All-purpose flour: Used both to thicken the sauce and to coat the shallots before frying.
- Unsalted butter: For the roux and for sautéing the mushrooms.
- Grated cheddar cheese: Adds savory, melty richness. Swap for gruyère or Monterey Jack if preferred, or omit cheese for a lighter sauce.
- Cremini mushrooms: Sautéed mushrooms give a savory, mushroom-forward flavor similar to cream of mushroom soup. Omit if you prefer.
- Garlic: Fresh minced garlic brightens the sauce.
- Dijon mustard & Worcestershire sauce: Optional but recommended for an extra layer of savory depth.
- Shallots: Thinly sliced and fried until crisp. They’re the standout topping—substitute store-bought fried onions or breadcrumbs if you’re short on time.
- High-heat oil: For frying the shallots; avocado or another neutral oil works well.
See the recipe instructions below for full quantities and step-by-step directions.
How to make green bean casserole from scratch
Making this casserole involves a few straightforward components: blanching the beans, preparing a creamy mushroom béchamel, frying the shallots, and baking everything together. Each step is simple and can be done ahead to save time on a busy holiday table.
Pro tip: Blanch and cool the green beans 1–2 days in advance. Assemble the casserole up to a day ahead and top with fried shallots just before baking for the best texture.

- Blanch the trimmed green beans in boiling water until crisp-tender (about 3–5 minutes). Drain and immediately rinse under cold water to stop the cooking and preserve color. Drain well and set aside.
- Sauté mushrooms in 1 tablespoon butter over medium heat until softened and their liquid has evaporated, about 5–6 minutes, then add minced garlic and cook briefly.
- Add the remaining butter, sprinkle in flour and cook for 1 minute to remove the raw flour taste.
- Slowly whisk in whole milk, scraping the bottom of the pan to loosen any browned bits; add Dijon mustard, Worcestershire sauce, salt and pepper. Bring to a simmer and cook until the sauce thickens and coats the back of a spoon, about 4–5 minutes.
- Remove from heat, stir in grated cheddar until melted, then toss the sauce with the blanched green beans.
- Transfer the mixture to a greased 2–2½ quart baking dish. Cover and refrigerate if assembling ahead of time.

- For the fried shallots: slice shallots into 1/4″ rings, toss with a little flour and salt, and fry in about 1/2″ of hot oil in batches until golden and crisp. Drain on paper towels and season with a touch more salt if needed.
- Top the assembled casserole with the crispy shallots just before baking. Bake at 350°F for 30–45 minutes, until bubbling and heated through (longer if the casserole is chilled). Cover with foil if the shallots brown too quickly.
- Allow the casserole to rest 10 minutes before serving so the sauce sets slightly. Enjoy warm.


Recipe FAQs
Fresh green beans are recommended for the best texture and flavor. Frozen beans may be used in a pinch, but they can become softer and less crisp after cooking.
Yes. Blanch the green beans in boiling water for about 3 minutes, then plunge into ice water to stop the cooking and preserve color and texture. Drain well before combining with the sauce.
This recipe uses a homemade béchamel-style sauce made with butter, flour, milk, and cheese, plus sautéed mushrooms and seasonings. It’s quick to make and delivers fresher flavor.
If you prefer not to fry shallots, you can use store-bought French fried onions or toasted breadcrumbs tossed with a little butter as a crunchy topping.

Recipe notes
- Make-ahead: Blanch the green beans 1–2 days ahead and assemble the casserole up to a day before baking. Add the fried shallots right before baking to keep them crisp.
- Use a neutral high-heat oil for frying the shallots; avocado oil works well.
- Omit the mushrooms if you prefer a mushroom-free version.
- Store leftovers in the refrigerator for up to 3 days; reheat covered in a 350°F oven until warmed through.

More Thanksgiving recipes you’ll love
- 50+ Ultimate Thanksgiving Day Recipes
- Cranberry orange sauce
- Crock pot stuffing
- Pumpkin pie from scratch
- Dry-brined orange rosemary roasted turkey
- Simple herb garlic roasted turkey breast
- Turkey gravy
- Yukon Gold mashed potatoes
Did you try this recipe? If so, leave a review and tag @flavorthemoments on social media so the author can see what you made.
Homemade Green Bean Casserole
Servings: 8 • Prep Time: 20 mins • Cook Time: 1 hr • Total Time: 1 hr 20 mins
Homemade Green Bean Casserole is made completely from scratch with fresh green beans, a creamy, cheesy béchamel sauce and irresistible crispy fried shallots.
Ingredients
- 1 1/2 lbs. fresh green beans, trimmed and cut into bite-sized pieces
- 3 tablespoons unsalted butter, divided
- 8 ounces cremini mushrooms, stemmed and sliced
- 3 cloves garlic, minced
- 5 tablespoons all-purpose flour, divided
- 2 teaspoons Worcestershire sauce
- 1 1/2 teaspoons Dijon mustard
- 2 1/2 cups whole milk
- 1/2 teaspoon salt
- 1/4 teaspoon black pepper
- 1 cup grated cheddar cheese
- 1/2 cup oil for frying (about 1/2″ depth)
- 3 large shallots, peeled and sliced into 1/4″ rings (about 2 cups sliced)
Instructions
- Fill a large pot with water and bring to a boil. Add green beans and cook 3–5 minutes until crisp-tender. Drain into a colander and rinse with cold water to stop cooking. Drain well and set aside.
- Heat 1 tablespoon butter in a large sauté pan over medium heat. Add mushrooms and cook until softened and the liquid evaporates, about 5–6 minutes. Add garlic and cook 30 seconds more.
- Add remaining 2 tablespoons butter and melt. Sprinkle 2 tablespoons flour over the mixture and cook 1 minute until the flour smells slightly nutty.
- Slowly whisk in the milk, scraping the pan to incorporate any browned bits. Add Dijon mustard, Worcestershire sauce, salt, and pepper. Bring to a simmer and cook until the sauce thickens and coats the back of a spoon, about 5 minutes.
- Remove from heat and stir in cheese until melted. Add the cooked green beans and toss to coat. Transfer to a greased 2–2½ quart baking dish. If desired, cover and refrigerate until ready to bake.
- Preheat oven to 350°F. Toss shallot rings with the remaining 2 tablespoons flour and about 1/2 teaspoon salt. Heat oil in a medium saucepan to hot but not smoking. Fry shallots in batches until lightly golden, 2–3 minutes per batch. Drain on paper towels and season lightly.
- Top the casserole with fried shallots just before baking. Bake 30–40 minutes, or until bubbly and heated through. If the shallots brown too fast, tent with foil.
- Remove from oven and let rest 10 minutes before serving. Enjoy.
Notes
- Prep the green beans 1–2 days ahead to save time. Assemble the casserole up to a day in advance; add fried shallots just before baking.
- Use a high-heat oil for frying the shallots; avocado oil is recommended.
- If you dislike mushrooms, simply omit them. Store-bought fried onions can replace the shallots for convenience.
- Leftovers keep in the refrigerator for up to 3 days.
Nutrition
Estimated per serving: Calories: 325 kcal, Carbohydrates: 17 g, Protein: 9 g, Fat: 26 g, Saturated Fat: 8 g, Sodium: 305 mg, Fiber: 3 g, Sugar: 8 g.
All recipes and images © Flavor the Moments.