Homemade Green Bean Casserole

The green bean casserole most of us grew up with owes its creaminess to a can of condensed mushroom soup, and for decades that shortcut was the whole point. This version keeps the comfort but swaps the can for a real sauce — and the difference is the reason to make it. You start by browning a pile of finely chopped cremini mushrooms in butter until they give up their water and turn deeply savory, then build a proper roux right in the same pan and whisk in stock and cream. What you get is a sauce that actually tastes like mushrooms, with a clean, velvety body and no metallic aftertaste. The beans matter just as much: instead of baking them to mush, I blanch them in salted water and shock them in ice, so they hold their snap and stay vivid green through the bake. The topping is the finishing move — a tangle of shallots fried until mahogany-crisp, scattered over the top so every spoonful gets a shattering crunch. (Store-bought fried onions work in a pinch, but homemade shallots are the upgrade that matches the from-scratch sauce.) It all comes together into the Thanksgiving side your table remembers — rich, snappy, and deeply savory, with zero cans involved. It sits perfectly next to our Roasted Garlic Mashed Potatoes and Classic Make-Ahead Herb Stuffing, and it plays nicely with our Garlic Green Beans for a lighter weeknight version.

Homemade Green Bean Casserole — finished dish

Side · Vegetarian, Thanksgiving, Make-Ahead • 55 min

Nutrition (per serving)240Calories·18gFat·16gCarbs·5gProtein
Calories240
Total Fat18 g
Saturated Fat9 g
Total Carbohydrate16 g
Dietary Fiber4 g
Sugars6 g
Protein5 g
Sodium430 mg

Per serving. Values are approximate and calculated from USDA FoodData Central.

Servings:
8 servings

Ingredients

  • For the green beans:
  • 2 pounds fresh green beans, ends trimmed
  • 2 tablespoons kosher salt, for the blanching water
  • For the crispy shallots:
  • 4 large shallots, peeled and thinly sliced into rings
  • 1 cup neutral oil, such as vegetable or grapeseed, for frying
  • ¼ teaspoon kosher salt
  • For the mushroom cream:
  • 4 tablespoons unsalted butter
  • 12 ounces cremini mushrooms, finely chopped
  • 1 medium yellow onion, finely chopped (about 1 cup)
  • 3 garlic cloves, minced
  • 1 teaspoon fresh thyme leaves
  • ¼ cup all-purpose flour
  • 1½ cups low-sodium chicken or vegetable stock
  • 1 cup heavy cream
  • 1 teaspoon kosher salt
  • ½ teaspoon freshly ground black pepper
  • 1 teaspoon soy sauce or tamari (optional, for depth)

Steps

  1. Blanch the beans: Bring a large pot of water to a boil and stir in the 2 tablespoons salt. Fill a large bowl with ice water and set it nearby. Drop the green beans into the boiling water and cook until bright green and crisp-tender, 2 to 3 minutes. Drain and immediately plunge them into the ice water to stop the cooking. Once cool, drain again and pat thoroughly dry with a clean towel.
  2. Fry the shallots: While the beans dry, pour the oil into a small saucepan or skillet and set it over medium heat. When the oil shimmers, add the shallots in a single layer and cook, stirring often, until golden brown and crisp, 4 to 6 minutes — watch closely, as they go from golden to burnt in seconds. Transfer with a slotted spoon to a paper-towel-lined plate and season with the ¼ teaspoon salt. Set aside. (The shallots crisp further as they cool.)
  3. Start the sauce: Heat the oven to 400°F with a rack in the center. Melt the butter in a large skillet or Dutch oven over medium-high heat. Add the mushrooms and onion and cook, stirring occasionally, until the mushrooms release their liquid and it cooks away and the mixture is deeply browned, 8 to 10 minutes. Stir in the garlic and thyme and cook until fragrant, about 1 minute.
  4. Build the roux: Sprinkle the flour over the mushroom mixture and stir constantly for 1 to 2 minutes to cook out the raw flour taste. The pan will look dry and pasty — that's what you want.
  5. Make the cream: Gradually whisk in the stock a splash at a time, scraping up any browned bits, until smooth. Whisk in the cream, then the 1 teaspoon salt, the black pepper, and the soy sauce if using. Bring to a gentle simmer and cook, stirring often, until the sauce thickens to a coating consistency that clings to the back of a spoon, 3 to 5 minutes. Taste and adjust the seasoning.
  6. Assemble: Add the blanched green beans to the skillet and fold until every bean is evenly coated in the sauce. Scrape the whole mixture into a 9×13-inch baking dish and spread into an even layer.
  7. Bake: Bake until the sauce is bubbling around the edges and the beans are hot through, 18 to 22 minutes. Remove from the oven and scatter the crispy shallots evenly over the top.
  8. Rest and serve: Let the casserole rest for 5 minutes so the sauce settles, then serve hot. Top with a few extra crispy shallots and a sprinkle of fresh thyme right before it goes to the table if you like.

Tips & Variations

Make Ahead

This casserole is built to make Thanksgiving morning easier. Up to 2 days ahead, make the mushroom cream and blanch the beans, then fold them together and refrigerate the unbaked mixture in the baking dish, covered tightly. When you're ready to bake, add about 10 minutes to the covered baking time (or bake straight from the fridge at 400°F for 25 to 30 minutes until bubbling). Fry the shallots up to a day ahead and keep them in an airtight container at room temperature — recrisp them in a 350°F oven for 3 to 4 minutes right before topping. You can also blanch and dry the beans up to 2 days ahead and keep them wrapped in a towel in the fridge.

Storage

Refrigerate leftovers in an airtight container for up to 4 days. Reheat in a covered dish at 350°F for 15 to 20 minutes, or in a skillet with a splash of stock, until hot through — the beans will soften slightly but still taste great. The crispy shallots lose their crunch in the fridge, so refresh with a fresh batch (or store-bought fried onions) when reheating. The unbaked casserole freezes well for up to 2 months: assemble through the saucing step, skip the topping, freeze, thaw overnight, then bake and add fresh shallots.

Substitutions

White button mushrooms work in place of cremini, though cremini bring more savory depth; a mix of shiitake and cremini is even richer. Shallots can be swapped for 2 cups of store-bought crispy fried onions when time is short — scatter them over the top and return the dish to the oven for 5 minutes at the end so they toast. For a dairy-free version, use olive oil in place of the butter and swap the heavy cream for unsweetened oat or cashew cream; for a gluten-free version, whisk 2 tablespoons of cornstarch into the cold stock instead of using flour, and use tamari. To make it fully vegan, use vegetable stock, the dairy-free swaps above, and fried shallots in oil (they already are). Thin French haricots verts work beautifully — reduce the blanch time to about 90 seconds.

Nutrition

Per serving: ⅛ of the recipe (about 1 cup)

240Calories
18gFat
9gSat Fat
45mgCholesterol
430mgSodium
16gCarbs
4gFiber
6gSugars
5gProtein

Reviews

Reviews coming soon! In the meantime, let us know what you think of this recipe.