If you’re a green bean casserole lover but have to shy away because of the dairy situation, it’s your lucky day! This fresh green bean casserole deletes the dairy and adds only deliciousness in its place for a side that vegans, vegetarians, and meat-eaters alike will happily devour.

This green bean casserole is modeled off of the classic. What’s in classic green bean casserole? Canned green beans, cream of mushroom soup, and a hefty sprinkling of crunchy fried onions.

For this vegan version, I’ve opted for more of a from-scratch model. Fresh green beans swap for canned; the sauce is made from scratch, too. And that sauce! A creamy thyme-laced, mushroom-heavy situation that still feels traditional but, you know. Better.

The crispy fried onions are where the homemade situation stops (sorry) – they’re straight from a grocery store container. I think they’re amazing just the way they are, but you can totally go with homemade if you’re feeling industrious. I like the looks of this recipe here for a homemade version (it does call for buttermilk but you can make it vegan by making your own buttermilk with your favorite unsweetened plant-based milk + vinegar).

How to Make Green Bean Casserole Vegan

Is Green Bean Casserole vegan? No, the traditional recipe is not – the sauce contains dairy.

For this Vegan Green Bean Casserole recipe, the sauce is all vegan – but you’d never know it. I start out with a good quality vegan butter – Miyokos is my faaaave these days. Diced onions, earthy mushrooms, and thyme cook down into a deliciously scented situation, then a pour of dry sherry adds a punch of savory goodness. Flour is stirred in, and then veggie broth and almond milk – instead of the traditional dairy milk or cream – along with a touch of soy sauce for another hit of flavor. The completely dairy-free sauce thickens and bubbles and is absolutely perfect for coating your fresh green beans.

How to Make Green Bean Casserole with Fresh Green Beans

To make green bean casserole with fresh green beans instead of canned, select firm (not shriveled) fresh green beans. Trim off the ends, then cut each bean into your desired length (I like 3- to 4-inch length beans).

Bring a large pot of water to a boil and add a couple of generous pinches of salt. Add the beans and boil for 5 minutes for more tender green beans or 6 minutes for slightly more cooked. If you’re cooking the casserole right away, you can strain the beans into a colander and set aside. If the beans are going to be sitting for a while or you’re prepping for a make-ahead situation, dunk the beans into an ice bath first. Fill a large bowl full of cold water and add a handful of ice cubes. Transfer beans to the bowl and let sit for a minute or two until cold. Drain water. Your fresh green beans are ready to be casserolified (that should totally be a word)!

Make your sauce, then toss the cooked green beans in the sauce.

Then, you’ll transfer the beans and sauce to a casserole dish, top generously with crispy onions, cover with foil, and bake.

THEN! You’ll remove the foil and bake for a bit more. Gotta get those onions nice and perfectly crispy.

I’ve been working on this Vegan Green Bean Casserole recipe for three years, testing it every November until I felt it was perfect enough to share. If it finds its way to your Thanksgiving table this year, I’d be honored! And I hope you and your family love it as much as we do.

5 from 2 votes

Vegan Green Bean Casserole

Prep: 35 minutes
Cook: 25 minutes
Author: Kare
The creamy baked classic with its iconic crispy french-fried onion topping – veganified (but not weird)! Everyone – vegans and non-vegans alike – will love this take on the traditional holiday side.


  • 1 and 1/2 pounds fresh green beans (about 6 cups, trimmed and cut into 3-4 inch pieces)
  • 4 + 1 tablespoons vegan butter, divided (I love Miyokos unsalted butter for this recipe)
  • 1/2 small yellow onion, diced small (about 1/2 cup)
  • 1/2 pound crimini mushrooms, diced small (about 2 cups / I go with a 1/2-inch dice or smaller)
  • 1/2 teaspoon dried thyme
  • 1/2 teaspoon kosher salt + more to taste
  • 1/4 teaspoon freshly ground black pepper + more to taste
  • 2 tablespoons dry sherry
  • 3 tablespoons all-purpose flour
  • 1 cup low-sodium vegetable broth
  • 1/2 cup unsweetened plain almond milk
  • 2 teaspoons soy sauce
  • 1 and 1/2 cups crispy fried onions*


  • Preheat oven to 350 degrees Fahrenheit.

Cook the green beans

  • Set a large pot 1/2 full of water over high heat and bring to a boil. Add a couple of generous pinches of salt and then the trimmed and cut green beans. Return to a boil and cook until tender, 5 minutes for beans with a bit of a bite, 6 minutes for beans that are more cooked. If you're cooking the casserole right away, you can strain the beans into a colander and set aside. If the beans are going to be sitting for a while and/or you're prepping for a make-ahead situation, dunk the beans into an ice bath first to stop them from overcooking. Fill a large bowl full of cold water and add a handful of ice cubes. Transfer beans to the bowl and let sit for a minute or two until cold. Drain water.

Make the sauce

  • Set a large saute pan or a stock pot over medium-low heat. Add 4 tablespoons (1/4 cup) of the vegan butter. When melted, add the onion, mushrooms, 1/2 teaspoon dried thyme, 1/2 teaspoon salt, and 1/4 teaspoon pepper. Cook, stirring occasionally, until onions and mushrooms are tender and much of the liquid from the mushrooms has cooked off, about 5 minutes.
  • Add the sherry and cook, stirring constantly, until evaporated, about 1 minute.
  • Add the flour and continue to cook, stirring constantly, for 3 minutes. If the flour begins to really stick to the bottom of the pan, add a splash of the vegetable broth to help loosen it and keep it from burning.
  • Slowly pour in the vegetable broth and then the almond milk and soy sauce, stirring constantly, scraping up any bits from the bottom of the pan. Increase heat to medium-high and cook, stirring frequently, until the sauce is thickened and bubbling. Remove the sauce from the heat.

Assemble the casserole

  • Stir the green beans into the sauce, tossing until coated. Taste green bean mixture and add more salt and pepper, if desired.
  • Pour the green bean and sauce mixture into a 2-quart casserole dish. Sprinkle crispy onions evenly over the top. Melt the remaining 1 tablespoon of vegan butter then drizzle over the top of the onions.

Bake the casserole

  • Cover with foil and bake until bubbling, 20-25 minutes. Remove the foil and continue baking until the crispy onions are toasty and golden, about 5 more minutes. Remove from oven and serve!


* I like plain ol’ French’s for the crispy onions. Be sure and check your label for non-vegan ingredients. 

Nutrition Facts

Serving: 1cup, Calories: 167kcal, Carbohydrates: 16g, Protein: 3g, Fat: 10g, Saturated Fat: 6g, Sodium: 244mg, Potassium: 355mg, Fiber: 3g, Sugar: 5g, Vitamin A: 32IU, Vitamin C: 11mg, Calcium: 37mg, Iron: 2mg

Share or save:

This post may contain affiliate links, which means if you click on a link and make a purchase, I may receive a portion of the proceeds. More about this here.