Green Bean Casserole from Scratch

Creamy, cheesy green bean casserole from scratch! We make classic green bean casserole even better with fresh green beans, an easy mushroom cream sauce, and homemade crispy shallots.

Green bean casserole made from scratch

Our homemade green bean casserole recipe will knock the socks off anything made with a can. We use fresh green beans for the best texture and flavor. I love the creamy, cheesy sauce made with mushrooms, milk, and cheese, making it much more delicious than canned soup. Then, to top it all off, we make a crispy fried shallot topping. It’s easy, and they keep for a week, probably more!

We serve this classic casserole as a Thanksgiving side dish, but love it throughout the holiday season. See our tips below for making in advance. For more Thanksgiving recipes, look at our best roast turkey recipe, these creamy mashed potatoes, and our easy herb stuffing.

Green Bean Casserole from Scratch

Key ingredients for green bean casserole

For the best green bean casserole, I love using fresh green beans. Canned green beans become too mushy for me, and while frozen green beans will work in a pinch, frozen beans have less crunch. If you don’t have access to fresh beans, use thawed frozen green beans.

Instead of canned mushroom soup, we make our own creamy sauce with butter, milk, lots of mushrooms, and Gruyère cheese. The base of the sauce is similar to the cheese sauce used for macaroni and cheese. It’s simple to make and tastes so much better than canned!

If you have a hard time finding Gruyère or find that it’s too expensive, swap the Gruyère for another melty cheese like white cheddar cheese. White cheddar is also a great option If you want a vegetarian green bean casserole.

For the crispy topping — a must if you ask me — try our recipe for crispy shallots , or use your favorite store-bought crispy onions like French’s. If you’ve never made crispy shallots before, prepare yourself; you’ll find it hard to stop eating them! They are so delicious. We also add crispy shallots to this easy green bean salad and love it!

How to make green bean casserole

  1. Blanch fresh green beans for 5 minutes, then rinse under cold water to cool — makes them bright green and crisp.
  2. Make mushroom cream sauce, then stir in cheese.
  3. Toss blanched green beans with the creamy sauce, pour into a casserole dish, and bake for 25 minutes.
  4. Top with homemade crispy shallots (recipe here) or store-bought crispy onions. Serve!
Cooking mushrooms with shallots for green bean casserole sauce

Our green bean casserole sauce has so much flavor thanks to a pound of mushrooms, garlic, and shallots. We cut the mushrooms small by hand, but you can blitz them in a food processor if you want to reduce the prep time.

Adding cheese to our casserole sauce.

Milk and cheese make our sauce extra creamy. We love Gruyère, but a mild to medium sharp white cheddar also works nicely.

Stirring the blanched green beans into the creamy casserole sauce.

Look at those brightly colored and tender green beans! They are so green because we blanched them first. It’s simple to do and improves color and texture in the baked casserole. It also only takes 5 minutes, so we highly recommend it.

How long to cook green bean casserole

Green bean casserole takes 20 to 25 minutes to bake in a 350° F oven. If your oven is a little hotter or cooler because of another dish also in the oven, you should be fine. You are looking for the sauce to be bubbling around the edges and the green beans to be tender and a little wrinkled.

Can you make green bean casserole ahead of time?

Yes, you can make green bean casserole ahead of time, and if you plan to make homemade crispy shallots, they last in an airtight container for up to a week.

  1. Prep and Assemble: Follow our recipe for green bean casserole up to the point where you’ve assembled it in your casserole dish — this means blanching the green beans and tossing them in the creamy mushroom sauce.
  2. Refrigerate: Cover the casserole dish tightly with plastic wrap or aluminum foil.
  3. Store: Store the covered casserole dish in the refrigerator for up to 3 days. When ready to bake, add 2 to 5 extra minutes to the bake time to account for being cold from the fridge.

What’s the best way to reheat green bean casserole?

To reheat the whole dish of leftover green bean casserole, slide it into a 350° F oven and bake for 15 to 20 minutes. For a smaller portion, use the microwave — 1 to 2 minutes should do the trick. The crispy shallots will lose their crunch when storing and reheating the casserole. If you have leftovers, scatter a few fresh crispy shallots (or store-bought crispy onions) over the reheated casserole before serving.

Can you freeze green bean casserole?

Unfortunately, we don’t think green bean casserole freezes very well. This recipe is best when made fresh. We have provided tips above for making it a day or two in advance.

Green Bean Casserole from Scratch

  • PREP
  • COOK

Our homemade green bean casserole is made from scratch, starting with fresh green beans tossed in a creamy sauce. The sauce is super flavorful, thanks to mushrooms and melty cheese. Then, to take this casserole over the top, we add lots of homemade crispy shallots right before serving.

Serves 8

You Will Need

Green Bean Casserole

1 ½ pounds (680g) green beans, snipped and cut in half

1 pound (450g) crimini mushrooms, finely chopped

6 tablespoons (85g) butter

3 cloves garlic, minced, about 1 tablespoon minced

2 medium shallots, thinly sliced

1/2 cup (120ml) dry white wine, see notes

2 tablespoons (16g) all-purpose flour

2 cups (470ml) whole or reduced-fat milk

2 cups shredded (8oz or 225g) Gruyère cheese, see notes

1/2 teaspoon (3g) fine sea salt, or more to taste

Crispy fried shallots, here’s our recipe, or use store-bought fried onions


  • Prepare Green Beans
  • 1Preheat oven to 350 °F (176 °C).

    2Bring a large pot of salted water to a boil. Add green beans and cook for 5 minutes. Drain and rinse under cold water to cool. Set aside.

  • Make Mushroom Sauce
  • 1Melt butter in the pot used to cook the green beans over medium heat. Add mushrooms, garlic, and shallots. Cover and cook for 30 minutes, stirring occasionally. Reduce heat if the vegetables begin to brown too quickly.

    2Add white wine and cook, uncovered, until almost completely reduced.

    3Stir in flour and cook until no longer lumpy.

    4Gradually whisk in milk and bring to a simmer.

    5Stir in cheese until melted and the sauce is smooth. Season with salt to taste, starting with 1/4 teaspoon.

  • Bake Casserole
  • 1Add cooked green beans to the sauce and toss until well coated. Transfer the mixture to a casserole dish.

    2Bake for 20 to 25 minutes, or until the sauce is bubbling around the green beans.

    3Let the casserole rest for 5 to 10 minutes after baking. Top with crispy shallots just before serving (adding them too soon can cause the shallots to steam and turn soggy).

Adam and Joanne's Tips

  • Wine for cooking: Choose a dry white wine you enjoy. We typically look for a dry, crisp white wine such as Pinot Grigio, Albarino, Sauvignon Blanc, and unoaked Chardonnay.
  • Wine substitute: Use vegetable or chicken broth.
  • Gruyère cheese: We love the flavor and melt factor of Gruyère, but sometimes find that it’s very expensive. It’s also not vegetarian-friendly due to animal rennet, so to save on cost or to make this casserole vegetarian-friendly, substitute the Gruyère for your favorite white cheddar.
  • Nutrition facts: The nutrition facts provided below are estimates. We have used the USDA database to calculate approximate values.
Nutrition Per Serving Serving Size 1 of 8 servings / Calories 280 / Total Fat 19g / Saturated Fat 11.3g / Cholesterol 57.5mg / Sodium 376.7mg / Carbohydrate 13.4g / Dietary Fiber 3g / Total Sugars 7.3g / Protein 13.8g
AUTHOR:  Adam and Joanne Gallagher
Inspired Taste Newsletter Signup
0 comments… Leave a Review

Leave a Reply

Leave a Review

Your email address will not be published. Required fields are marked *

Rate this recipe!


All comments are moderated before appearing on the site. Thank you so much for waiting. First time commenting? Please review our comment guidelines. You must be at least 16 years old to post a comment. All comments are governed by our Privacy Policy & Terms.

Previous Post: Next Post: