A green bean casserole recipe without cream of mushroom soup swaps the canned condensed soup for a quick homemade mushroom cream sauce made with butter, flour, fresh mushrooms, and cream, so you get that same rich, creamy casserole without the tinny, oversalted flavor of the can.
I used to think green bean casserole just came in a can-shaped hole in the middle of the dish. My grandmother made it that way, my mom made it that way, and for years I assumed the metallic aftertaste was just part of the deal. Once I made the sauce myself, from real mushrooms and a basic roux, I couldn’t go back to the can.
This version takes maybe fifteen extra minutes over the classic dump-and-bake method. What you get instead is a sauce that actually tastes like mushrooms, green beans that hold their color and their bite, and a topping that stays crunchy instead of turning into soggy string. I’ll walk you through exactly how I make it now, including the two mistakes that used to wreck this dish for me every single time.
Key Takeaways
- Homemade mushroom cream sauce uses unsalted butter, flour, fresh mushrooms, and stock plus cream, no canned soup required
- Blanching the green beans in salted boiling water and shocking them in ice water keeps them bright and tender-crisp instead of mushy
- Reducing the sauce until it coats a spoon before it ever touches the beans is the single biggest fix for a watery casserole
- Crispy fried onions, homemade or a good store-bought bag, go on in two layers so every bite gets crunch
- The whole dish can be assembled a day ahead and baked right before serving
Table of Contents
Why I stopped using the can
The canned soup version isn’t a bad idea in theory: condensed mushroom soup is salty, thick, and fast, which is exactly why it became a Thanksgiving staple in the first place.
The problem shows up in the actual eating. The sauce has that flat, slightly metallic can taste that no amount of black pepper fixes, and it coats the green beans in a gray-beige color that doesn’t scream “fresh vegetable.” Canned green beans, if you use those too, go soft in a way that reads as mushy rather than tender.
Once I started making my own mushroom sauce, the difference wasn’t subtle: real mushrooms sautéed in butter bring a savory depth the can never manages, and the sauce clings to the beans instead of pooling around them.
Canned version vs. homemade, side by side
| Canned soup version | From-scratch version | |
| Base | Condensed mushroom soup, milk | Butter, flour, fresh mushrooms, stock, cream |
| Flavor | Salty, slightly metallic | Savory, mushroom-forward, adjustable salt |
| Green beans | Often canned, soft | Fresh, blanched, tender-crisp |
| Texture | Can turn gluey | Silky, coats beans without pooling |
| Active time | About 10 minutes | About 25 minutes |
What you’ll need
- 1 ½ pounds fresh green beans, trimmed and cut into 2-inch pieces
- 4 tablespoons unsalted butter, divided
- 1 pound cremini or white button mushrooms, sliced
- 1 small yellow onion, diced
- 3 cloves garlic, minced
- ¼ cup all-purpose flour
- 1 ½ cups chicken or vegetable stock
- 1 cup heavy cream
- 1 teaspoon dried porcini mushroom powder (optional, but it deepens the mushroom flavor more than you’d expect from such a small amount)
- ¾ teaspoon salt, plus more to taste
- ¼ teaspoon black pepper
- 1 ½ cups crispy fried onions, homemade or store-bought, divided
- ½ cup grated parmesan (optional, stirred into the sauce for extra body)
How I make it
- Blanch the green beans. Bring a large pot of well-salted water to a rolling boil. Drop in the green beans and cook for 4 to 5 minutes, until they’ve turned bright green and are tender but still have a little bite.
- Shock them in ice water. Drain the beans immediately and dunk them into a bowl of ice water for a few minutes. This stops the cooking so they don’t go from tender-crisp to gray and mushy while you’re still building the sauce.
- Drain the beans really well. Spread them on a clean towel and pat them dry. Any water clinging to the beans ends up in your finished casserole later, and that’s one of the two things that used to make mine watery.
- Sauté the onion. Melt 2 tablespoons of butter in a large 12-inch stainless steel skillet over medium heat. Add the diced onion and cook for about 5 minutes, until it turns soft and starts to look golden at the edges.
- Add the mushrooms and garlic. Stir in the sliced mushrooms and cook for 6 to 8 minutes, until they’ve released their liquid and that liquid has mostly cooked back off. Add the garlic in the last minute so it doesn’t burn.
- Build the roux. Push the mushrooms to one side, melt the remaining 2 tablespoons of butter in the empty space, then sprinkle the flour over the butter and stir it into a paste for about a minute.
- Whisk in the stock and cream. Slowly pour in the stock with a balloon whisk, then add the cream, porcini powder if using, salt, and pepper. Let it come to a gentle simmer.
- Reduce until it coats a spoon. This is the step I used to rush. Keep the sauce at a low simmer for 5 to 7 minutes, stirring often, until it’s thick enough to leave a clear trail when you drag a spoon through it. If it still runs thin off the back of a spoon, it needs more time, not more flour.
- Combine and transfer. Fold the drained green beans into the sauce along with half the crispy onions and the parmesan if you’re using it. Pour everything into a greased 9×13 baking dish.
- Bake. Bake at 375°F for 20 to 25 minutes, until the sauce is bubbling at the edges.
- Top and finish. Scatter the remaining crispy onions over the top and bake for another 3 to 5 minutes, just until they’re golden. Let the casserole rest for 5 minutes before serving so the sauce sets up a bit.
The two mistakes I made so you don’t have to
The first time I made this from scratch, my sauce looked thick enough in the pan, so I pulled it off the heat early. By the time it came out of the oven, all that extra moisture had pooled at the bottom of the dish and the beans were basically swimming.
Now I reduce the sauce until it visibly coats a spoon and leaves a trail when I run my finger through it, even if that means an extra five minutes at the stove. I also learned the hard way that wet beans straight from the ice bath do the same thing, so I always pat them dry on a towel before they go anywhere near the sauce.
My second mistake was leaving the beans in the boiling water too long because I got distracted setting the table. They went from bright and snappy to that dull, olive, baby-food texture in what felt like thirty extra seconds. Now I set a timer and pull them the second they turn bright green, because that color change happens fast and it doesn’t reverse.
A few swaps that work
- No heavy cream on hand? Half-and-half works, though the sauce will be slightly thinner, so reduce it a couple minutes longer.
- Want it lighter? Swap half the cream for extra stock and skip the parmesan.
- Out of fresh mushrooms? Rehydrated dried mushrooms work in a pinch, and their soaking liquid can replace some of the stock for extra flavor.
- Making it ahead? Assemble everything except the final layer of crispy onions, cover, and refrigerate up to a day ahead. Add the onions and bake right before serving. If you like getting ahead on the rest of the holiday menu too, my guide to the easiest way to meal prep for busy weeks has more of these make-ahead tricks.
- Leftovers? They keep for about 3 days in the fridge in an airtight glass container, though the crispy onions on top soften a bit after day one.
The last step before the table
This casserole takes more hands-on time than the classic three-ingredient version, and I think that’s a fair trade. What you get back is a dish that tastes like actual mushrooms and actual green beans instead of a can with vegetables floating in it.
Once you’ve made the sauce yourself and seen how easy the reduce-until-it-coats-a-spoon test is, going back to the condensed soup version feels like a downgrade. This is the one I make now, every single year, sitting on the table right next to my cranberry sauce and candied yams.
Frequently asked questions
Can I use frozen green beans instead of fresh?
Yes, you can skip the blanching step and go straight from thawed and well-drained frozen beans into the sauce. Pat them very dry first since frozen beans hold extra water that can make the casserole watery.
Why did my homemade sauce turn out watery?
Almost always it’s either an under-reduced sauce or beans that weren’t dried well before mixing. Simmer the sauce until it coats a spoon and pat your beans dry on a towel before combining.
Can I make this dairy-free?
Swap the butter for a neutral oil or dairy-free butter and use a full-fat coconut milk or unsweetened oat cream in place of the heavy cream. The flavor shifts slightly but the texture holds up well.
How far ahead can I assemble this casserole?
You can build it up to a day ahead, minus the final layer of crispy onions, and keep it covered in the fridge. Add the onions right before it goes in the oven so they stay crunchy.
Can I use store-bought crispy onions instead of making my own?
Absolutely, a good quality bag works fine and saves time. I just always add half before baking and half after so the top layer stays crisp instead of soaking into the sauce.


From-Scratch Green Bean Casserole
Ingredients
- 1½ lbs fresh green beans, trimmed and cut into 2-inch pieces
- 4 tbsp unsalted butter, divided
- 1 lb cremini or white button mushrooms, sliced
- 1 small yellow onion, diced
- 3 cloves garlic, minced
- ¼ cup all-purpose flour
- 1½ cups chicken or vegetable stock
- 1 cup heavy cream
- 1 tsp 1 tsp dried porcini mushroom powder (optional)
- ¾ tsp salt, plus more to taste
- ¼ tsp black pepper
- 1½ cups crispy fried onions, divided
- ½ cup grated parmesan (optional)
Instructions
- Blanch green beans in salted boiling water 4 to 5 minutes, then shock in ice water and drain well.
- Sauté onion in 2 tbsp butter until soft, about 5 minutes.
- Add mushrooms, cook 6 to 8 minutes, then stir in garlic for the last minute.
- Melt remaining butter in the pan, sprinkle in flour, and stir into a paste.
- Whisk in stock, cream, porcini powder, salt, and pepper. Simmer until thick enough to coat a spoon, about 5 to 7 minutes.Â
- Fold in green beans, half the crispy onions, and parmesan. Transfer to a greased 9×13 dish.
- Bake at 375°F for 20 to 25 minutes until bubbling.
- Top with remaining crispy onions and bake 3 to 5 more minutes until golden. Rest 5 minutes before serving.
Notes
Cynthia Odenu-Odenu is the founder of Cyanne Eats. A registered nurse with a passion for food, she brings the same attention to detail from her professional life into the kitchen. From chain restaurant rankings to grocery finds and easy recipes, Cynthia covers it all and helps everyday food lovers eat better and spend smarter.

