This green bean casserole from scratch skips the canned soup. Fresh green beans get a quick boil, then go into a creamy homemade mushroom sauce that you make in one skillet. Crispy onions go on top, and the whole dish bakes until it bubbles. It feeds 8 and takes about an hour from start to finish. You can also put it together up to 2 days ahead, which helps a lot on Thanksgiving.
Jump to RecipeThe sauce is the only real cooking here, and it is just butter, mushrooms, flour, broth and half and half. If you can stir, you can make it. We do keep one shortcut, and that is the crispy fried onions from the store. Frying onions while the turkey rests is nobody’s idea of a good time. If you want to go all the way, there is a homemade topping in the variations below.

Why This Green Bean Casserole from Scratch Works
- Fresh beans stay bright. A 5 minute boil and a cold rinse keep them green, with a little bite left.
- No canned soup. The sauce is made with real mushrooms, broth and half and half, so you control the salt.
- A sauce that clings. A little flour makes it thick enough to coat every bean. It does not pool in the bottom of the dish.
- Crunch in every scoop. Some of the crispy onions get stirred in. The rest go on at the end, so they stay crisp.
- It waits for you. Put it together up to 2 days early and bake it when the oven is free.
Ingredients and Easy Swaps
The full amounts are in the recipe card below. Here is what each thing does and what you can trade out.
- Fresh green beans. You need 1 1/2 pounds, which is about 5 cups once they are cut. Look for firm beans that snap when you bend them. Skip any that are limp or spotted.
- Mushrooms. White button or cremini (baby bella) both work. Chop them small if you have a mushroom skeptic at the table.
- Butter and flour. Cooked together, they thicken the sauce.
- Onion and garlic. They build the base flavor that canned soup is missing.
- Chicken broth. Use low-sodium so the dish does not turn out too salty. Vegetable broth works if you want it meat free.
- Half and half. It makes the sauce creamy without being heavy. Whole milk works too, but the sauce will be a little thinner. Heavy cream makes it richer.
- Soy sauce. Just 1 teaspoon. It adds a deep, savory taste, and nobody will know it is in there. Worcestershire sauce works the same way.
- Dried thyme. A little goes a long way. A pinch of nutmeg is nice here too.
- Crispy fried onions. These are the crunchy onions sold in a can or a bag, usually near the canned vegetables or the salad toppings.
How to Pick and Prep Fresh Green Beans
Fresh green beans are the reason to make this from scratch, so give them a few minutes of care. The goal is beans that are tender but not mushy after they bake.
- Trim and cut. Snap or cut off the stem ends. Cut the beans into 1 1/2-inch pieces, so they fit on a fork.
- Boil in salty water. Use a big pot, and add 1 tablespoon of salt to the water. Boil the beans for 5 minutes. They should be bright green and still have a little bite, because they keep cooking in the oven.
- Cool them fast. Drain the beans and rinse them under cold water. You can also dunk them in a bowl of ice water. This stops the cooking and locks in the color.
- Dry them well. Shake the colander, then pat the beans with a clean kitchen towel. Any water left on the beans will thin out your sauce.
Cooks call this blanching. It sounds fancy, but it is just a short boil and a cold bath. You can do it up to 2 days ahead and keep the beans in the fridge.

How to Make the Homemade Mushroom Sauce
This sauce takes the place of canned cream of mushroom soup. It comes together in about 15 minutes in one skillet.
- Brown the mushrooms. Melt the butter over medium heat. Add the mushrooms, onion and a pinch of salt. Cook for 6 to 8 minutes. The mushrooms let out water first. Keep going until the water is gone and they turn golden. That is where the flavor comes from.
- Add the garlic and thyme. Stir for 30 seconds, just until you can smell the garlic.
- Stir in the flour. Cook it for 1 minute. It will look pasty, and that is how it should look.
- Pour in the liquid slowly. Add the broth a little at a time and keep stirring. Then add the half and half. Going slow is how you keep lumps out.
- Simmer. Let it bubble gently for 3 to 5 minutes, until it coats the back of a spoon.
- Season. Stir in the soy sauce, salt and pepper, then taste it. The sauce should taste a little bold on its own. It will be just right once the beans go in.
Want more flavor? Stir 1/4 cup of grated Parmesan into the hot sauce, or add a small pinch of nutmeg. Both make it taste like you worked harder than you did.
How to Put It Together and Bake
- Mix. Stir the dry green beans and 1/2 cup of the crispy onions into the sauce. Make sure every bean is coated.
- Spread. Scrape it all into a greased 2 1/2 to 3-quart baking dish. A 9×13-inch dish works well. A wide, shallow dish gives you more crispy top in each scoop.
- Bake. Bake uncovered at 375°F for 20 minutes, until the sauce bubbles around the edges.
- Top. Sprinkle on the last 1 1/2 cups of crispy onions. Bake for 5 to 8 minutes more, until they are golden. Stay close, because they brown fast.
- Rest. Give it 5 to 10 minutes on the counter. The sauce thickens as it cools.

Fresh, Frozen or Canned Green Beans?
Fresh is best, but the other two will not ruin dinner. Here is how to make each one work.
- Fresh. The best color and the best bite. Follow the recipe as written.
- Frozen. Use 24 ounces of frozen cut green beans. Thaw them, drain them and pat them very dry. Skip the boiling step, since frozen beans are already blanched. They will be a little softer than fresh.
- Canned. Use three 14.5-ounce cans of cut green beans and drain them well. Skip the boiling step. Canned beans are soft and already salted, so leave out the last 1/2 teaspoon of salt and taste the sauce first.
Common Green Bean Casserole Mistakes and How to Fix Them
- Soggy beans. The beans boiled too long. Pull them at 5 minutes. They finish cooking in the oven.
- Watery sauce. This comes from wet beans, or from mushrooms that did not cook long enough. Dry the beans well, and cook the mushrooms until the pan is dry.
- Sauce is too thick. Stir in a splash of broth or milk before you add the beans.
- Sauce is too thin. Simmer it for a few more minutes. It also thickens in the oven.
- Lumpy sauce. The liquid went in too fast. Whisk hard for a minute. Any small lumps will hide once the beans go in.
- Bland flavor. The sauce needs more salt. Taste it before you add the beans. A little more soy sauce or some Parmesan helps too.
- Burnt onions. Crispy onions are already cooked, so they only need a few minutes. Add them at the end. If they brown too fast, lay a sheet of foil loosely over the top.
Make-Ahead, Storage and Freezing
- Make ahead. Mix the beans and sauce and spread them in the baking dish. Leave the topping off. Cover and chill for up to 2 days. Bake the cold casserole for 30 to 35 minutes, until it bubbles. Then add the onions and bake for 5 to 8 minutes more.
- Fridge. Cover leftovers and keep them for 3 to 4 days.
- Freezer. Freeze the casserole without the onion topping for up to 2 months. Let it cool, then wrap it tightly. Thaw it overnight in the fridge. Give it a stir if the sauce looks separated, then bake. The beans will be softer than fresh.
- Reheating. Warm it at 350°F for 15 to 20 minutes with foil laid loosely over the top. Add a fresh handful of crispy onions for the last 5 minutes to bring back the crunch.
Easy Variations
- Cheesy. Stir 1 cup of shredded sharp cheddar into the sauce after you take it off the heat.
- Bacon. Stir in 6 slices of cooked, crumbled bacon with the beans. For a sweet and smoky twist, toss the bacon with 1 tablespoon of brown sugar first.
- No mushrooms. Leave them out and use a whole diced onion. The sauce still works.
- Vegetarian. Swap the chicken broth for vegetable broth.
- Gluten-free. Skip the flour. Stir 2 tablespoons of cornstarch into the cold half and half before you pour it in. Use tamari in place of soy sauce and gluten-free crispy onions.
- Dairy-free. Use olive oil or plant-based butter and plain, unsweetened oat milk or soy milk.
- Panko topping. No crispy onions in the house? Mix 1 cup of panko breadcrumbs with 2 tablespoons of melted butter and 1/4 cup of grated Parmesan. Sprinkle it on before the dish goes in the oven.
- Homemade crispy onions. Slice 2 medium yellow onions into thin rings. Toss them with 1/4 cup of flour and 1/2 teaspoon of salt. Fry them in batches in 1/2 inch of hot vegetable oil for 2 to 3 minutes, until golden. Drain them on paper towels.
Want to turn this side into a low-carb main dish? Our Keto Chicken Green Bean Casserole adds chicken and skips the flour.
What to Serve with Green Bean Casserole
Green bean casserole belongs next to roast turkey, baked ham or a simple roast chicken. Add something bready and something a little spicy, and the plate feels full. Stuffing Muffins have crispy edges that kids love, and Jalapeño Cornbread Casserole brings a little heat.
Planning the whole holiday table? Start with our 29 Thanksgiving sides, or map out the full meal with these Thanksgiving menu ideas. And if someone at your table swears they do not like green bean casserole (there is always one), we have 11 other vegetable Thanksgiving sides for them.
Recipe
Green Bean Casserole from Scratch
8
servingsKeep the screen of your device on
Ingredients
1 1/2 pounds fresh green beans, trimmed and cut into 1 1/2-inch pieces
1 tablespoon salt (for the boiling water)
4 tablespoons unsalted butter
8 ounces white or cremini mushrooms, chopped
1/2 medium yellow onion, finely diced (about 1/2 cup)
2 cloves garlic, minced
1/2 teaspoon dried thyme
1/4 cup all-purpose flour
1 cup low-sodium chicken broth
1 cup half and half
1 teaspoon soy sauce
3/4 teaspoon salt (for the sauce), divided
1/2 teaspoon black pepper
2 cups crispy fried onions, divided
Directions
- Heat the oven to 375°F. Grease a 2 1/2 to 3-quart baking dish. A 9×13-inch dish works well.
- Bring a large pot of water to a boil and add 1 tablespoon of salt. Add the green beans and boil for 5 minutes, until bright green and just tender.
- Drain the beans and rinse them under cold water until cool, or dunk them in a bowl of ice water. Drain well and pat dry with a clean towel.
- Melt the butter in a large, deep skillet over medium heat. Add the mushrooms, onion and 1/4 teaspoon of salt. Cook for 6 to 8 minutes, stirring now and then, until the liquid cooks off and the mushrooms are golden.
- Stir in the garlic and thyme and cook for 30 seconds. Sprinkle in the flour and stir for 1 minute.
- Slowly pour in the broth while you stir, then the half and half. Bring to a simmer and cook for 3 to 5 minutes, stirring often, until the sauce is thick enough to coat a spoon.
- Take the skillet off the heat. Stir in the soy sauce, pepper and the last 1/2 teaspoon of salt. Add the green beans and 1/2 cup of the crispy onions and stir until coated.
- Spread the mixture in the baking dish. Bake uncovered for 20 minutes, until the sauce bubbles at the edges.
- Sprinkle the last 1 1/2 cups of crispy onions over the top. Bake for 5 to 8 minutes more, until the onions are golden.
- Let the casserole rest for 5 to 10 minutes, then serve.
Like this recipe?
Follow @dinnerendeavor on Pinterest
Can you freeze green bean casserole?
Yes. Freeze it without the crispy onion topping for up to 2 months. Let it cool, wrap it tightly and thaw it overnight in the fridge. Stir it if the sauce looks separated, then bake until bubbling and add fresh crispy onions at the end.
Can I make green bean casserole from scratch ahead of time?
Yes. Mix the green beans and the sauce, spread them in the baking dish, cover and chill for up to 2 days. Leave the crispy onions off until you bake. A cold casserole needs 30 to 35 minutes in the oven before you add the topping.
Can I use frozen or canned green beans?
Yes. Use 24 ounces of thawed frozen cut green beans or three 14.5-ounce cans of drained green beans. Skip the boiling step for both, and pat them dry. They will be softer than fresh beans, but the casserole still tastes great.
Why are my green beans soggy after freezing?
Freezing breaks down the walls inside the beans, so they are always a little softer after they thaw. Beans that were not boiled briefly and cooled in ice water before freezing turn even mushier. Blanch them first, dry them well and expect a softer bite.
How do restaurants make green beans taste so good?
Most restaurants boil green beans in very salty water for just a few minutes, then cool them in ice water. That keeps them bright and tender with a little snap. Right before serving, they warm the beans in butter with garlic and salt. This recipe starts the same way.
How do you saute green beans on the stove?
Heat 1 tablespoon of butter or oil in a large skillet over medium-high heat. Add trimmed green beans and cook for 5 to 7 minutes, stirring often, until they are tender with a few brown spots. Add minced garlic for the last minute, then season with salt and pepper.