The Best Vegan French Onion Soup

The classic sweet and savory soup...made vegan! Warm, comforting, and perfect for a cold winter night.

You’ll Need:

  • 2 Tbsp. olive oil
  • 2 lbs. sweet white onions, sliced thin
  • salt + pepper
  • 4 cups veggie broth (usually one carton)
  • 10 oz. baby bella mushrooms, sliced
  • 3 large cloves garlic, crushed or minced
  • 2 Tbsp. flour, gluten free if necessary
  • 1/4 cup red wine
  • 1/4 cup water
  • 5 sprigs thyme, leaves removed and roughly chopped
  • 2-3 pieces of bread, gluten free if necessary*
  • shredded mozzarella or vegan mozzarella for topping, optional


  1. Add olive oil to a large pot over medium heat. Add sliced onion once the oil is hot, and toss to coat with a wooden spoon. Season lightly with salt and pepper. Continue to cook, stirring often, until the onions are dark and caramelized, about 20-30 minutes.
  2. Meanwhile, add vegetable broth and sliced mushrooms in a medium pot over medium heat. Bring to a boil, cover, reduce to a simmer, and cook for 10 minutes. Remove mushrooms with a slotted spoon and discard. Set the broth aside.
  3. After your onions are caramelized, add the crushed garlic, and cook for about a minute. Then add flour, and stir to coat the onions. Cook for another minute.
  4. Add red wine and water to deglaze the pan. Allow to cook for 30 seconds to a minute, then add your thyme leaves and strained vegetable broth.
  5. Bring the mixture to a low boil, and cook covered for another 10 minutes. Taste, and adjust seasoning as necessary. I added some salt, a healthy pinch of freshly cracked black pepper, and some water to balance out the sweetness a bit.
  6. Meanwhile, preheat your oven to 350 degrees F. Cut your bread into a somewhat thick circle. Coat with a bit of olive oil, and toast on a baking pan until crisp, 3-5 minutes. Set aside.
  7. When you're ready to serve, portion your soup into 2-3 oven-safe bowls. Top with toasted bread and shredded cheese. Bake until the cheese is melted, another 3-5 minutes.


*A baguette works great for this. Otherwise, you can use a piece of sandwich bread cut into a circle (which is what I did).