Vegetarian French Onion Soup

Sweet caramelized onions swimming in a rich, flavorful mushroom broth and topped with crusty bread and melted cheese is just the thing you need to keep warm this winter.

Vegetarian French onion soup with mushroom broth.

Each bite of this rich Vegetarian French Onion Soup will have perfectly caramelized onions, savory mushroom broth, gooey cheese, and just the right amount of French baguette. You’ll be making this soup again and again all winter. 

The heart of Vegetarian French Onion Soup is deeply caramelized onions, which are concentrated savory onions that melt into the soup. As they caramelized, the onions lose their pungency, become sweeter, and are the perfect base for the mushroom broth and seasonings. 

The soup is simply seasoned with fresh thyme, bay leaves, salt, and black pepper. The mushroom broth adds a meaty and earthy flavor. A splash of vegan Worcestershire sauce and balsamic vinegar at the end add even more umami and depth of flavor.

The soup is divided into oven-safe bowls, topped with slices of French baguette, Swiss and Gruyere cheeses, and then broiled until the cheese is gooey and just slightly browned on top. 

Although not traditional, I top the soup with a slice of Swiss cheese because it melts nicely. Plus, it provides a solid foundation to set the shredded Gruyere on so that it stays on top instead of falling into the soup.

The crusty slice of baguette soaks up the broth so it’s easy to scoop up with your spoon. Each bite is a combination of the rich onion flavor, savory broth, salty cheese, and softened bread. In a word, delicious!

Vegetarian French Onion Soup is a cozy, comfort meal for any time of the year, but especially during chilly days. I usually serve it on its own or with a salad for lunch or as a light dinner. 

All About Caramelizing Onions

The most important part of making this soup is to caramelize the onions well. Caramelization is the process of slowly cooking the onions so that they become soft and golden brown. The onions release their natural sugars, concentrating their flavor. 

There’s simply no way to replicate the flavor of caramelized onions other than cooking them slowly from scratch.

I use yellow onions in this recipe, but you could also use red onions if you prefer their flavor. I would pass on sweet onions, which lack the intense flavor you need to flavor the soup. 

Aim for slicing the onions about 1/8 inch thick. The shape, whether whole rounds or halfmoons, does not matter as long as they are evenly and thinly sliced. Slicing them too thin can result in a barely-there consistency and you risk burning them. If too thick, you’ll have to cook them for a longer time and they won’t be uniformly caramelized.

It’ll take 45 minutes to 1 hour for the onions to caramelize. Cook them over medium heat the entire time and stir them every 5 minutes or so. After the first 10 to 15 minutes, you’ll notice the volume of the onions reduce in half, they’ll softened, and become translucent.

At the half hour mark, the volume of the onions will be even smaller and they’ll begin to turn a deep golden yellow with brown bits forming on the bottom of the pot. When the onions are caramelized, they are a deeper golden amber color with even more brown bits on the bottom of the pot.

Low and slow is the key to maximize flavor here. Frequent stirring will help prevent scorching. Some people add a spoonful of sugar to help the caramelization process, but it’s not necessary if take your time. 

The Best Oil for Caramelizing Onions

I used a combination of butter and avocado oil to cook the onions. Butter adds the most flavor, but the milk solids in the butter tend to brown too quickly. You don’t want this because as butter browns it’ll darken the onions before they’re fully caramelized.

Avocado oil has a higher smoke point than butter, which helps prevent early browning and the butter from burning. I prefer avocado oil over olive oil or extra virgin olive oil because it has a higher smoke point and a milder flavor that doesn’t compete with the flavor of the butter. You can use any neutral oil like canola, vegetable, or grapeseed. 

Vegetarian French onion soup with mushroom broth.

Simply Recipes / Sally Vargas

Ingredient Swaps that Work

French onion soup, including this vegetarian version, is traditionally topped with sliced French baguette and Gruyere cheese. I used mushroom broth in place of beef broth to make this soup vegetarian friendly. Here are other ingredient substitutions that would work: 

  • If you can’t find boxed mushroom broth in your grocery store, look for mushroom bouillon. It’s a seasoned mushroom concentrate. Simply mix it with hot water to make the mushroom broth.
  • I haven’t tried vegetable broth in this recipe, but you certainly could. Some store-bought vegetable broths can be a little bland, so I’d recommend making your own. Otherwise, use a store-bought vegetable broth that you’ve tried and like. 
  • Deglazing the pan with white wine is a traditional technique that adds loads of flavor. Deglazing simply means to add a liquid like the wine to help release stuck-on bits of food (so much flavor here!) from the bottom of the pan. I use white wine, but you could use a dry red wine instead. Instead of wine, you could use extra broth to deglaze the pan.
  • Instead of a French baguette, use any crusty loaf of artisan bread, like sourdough or Italian. You want the bread to be sturdy and have a chewy texture so it will hold its shape and does not fall apart in the soup. Don’t use soft sandwich breads or brioche.
  • It’s okay to use only Gruyere or only Swiss cheese to top the soup.
  • You can also mix it up and use any cheese that melts well. Some examples are:
  • Mozzarella
  • Aged sharp cheddar
  • Fontina
  • Gouda
  • Jarlsberg

Other Yummy Variations

Classic French onion soup is all about well-caramelized onions, good-quality broth, and the melty cheese topping. However, there are a few variations that would work with this vegetarian version if you want to try.

  • If you want a heartier soup, any type of mushrooms or white beans would pair well with caramelized onions. Add sliced mushrooms or cooked (canned is okay!) beans to the soup along with the mushroom broth after the onions have finished caramelizing. 
  • A whole grain, like barley or farro, would also work well. If your grain isn’t pre-cooked, keep in mind you’ll also need to increase the amount of broth to account for cooking the grain.
  • For a creamy version, stir in a little heavy cream or half-and-half after the soup simmers for 15 minutes. 
Vegetarian French onion soup with mushroom broth.

Simply Recipes / Sally Vargas

Serving Suggestions

Although filling as a main course when served with side salad, you can serve this soup as the first course of a larger meal. It would complement a meatless risotto, stuffed mushrooms, ratatouille, or a warm salad made with grains and roasted winter vegetables, like sweet potatoes, carrots, and squash.

Make Ahead and Storage Instructions

The base soup, without the baguette and cheese, can be prepared ahead of time and stored in an airtight container in the refrigerator for up to five days. Simply prepare the soup as directed, but don’t top it with bread or cheese. 

If you’re not going to serve the soup within five days, you can portion it into zip top freezer storage bags or a freezer-safe food container and freeze for up to three months.

When you’re ready to eat, use either the stovetop or microwave to thaw and reheat the soup. Then, portion the soup into oven-safe bowls, top with the bread and cheese, and place them under the broiler to melt the cheese just before serving.

Vegetarian French onion soup with mushroom broth.

Simply Recipes / Sally Vargas

Caramelized Onions Always and Forever

Vegetarian French Onion Soup

Prep Time 10 mins
Cook Time 80 mins
Total Time 90 mins
Servings 6 servings


  • 4 tablespoons unsalted butter

  • 2 tablespoons avocado oil or other neutral oil

  • 4 large (8 to 10 cups) yellow onions, cut into 1/8-inch slices

  • 1/2 cup dry white wine, like Sauvignon Blanc 

  • 2 tablespoons all-purpose flour

  • 8 cups mushroom broth

  • 3 sprigs fresh thyme

  • 2 dried bay leaves

  • 1 1/2 teaspoons salt

  • 1/2 teaspoon ground black pepper

  • 1 tablespoon vegan Worcestershire sauce

  • 2 teaspoons balsamic vinegar

  • 1 (12-inch) French baguette, cut into 1-inch slices

  • 6 slices (about 6 ounces) Swiss cheese

  • 1 1/2 cups (about 6 ounces) shredded gruyere cheese


  1. Caramelize the onions:

    Heat a 5-quart Dutch oven or large pot over medium heat. Add the butter and oil. When the butter is melted, add the sliced onions, and stir to coat them in the fat.

    Cook the onions for about 60 minutes, stirring about every 5 minutes with a wooden spoon, until caramelized. The onions should reduce in volume, become very soft, and turn a golden amber color with brown bits accumulating on the bottom of the pot.

    As the onions cook, use the wooden spoon to scrape up the brown bits so that they don’t burn. 

    Caramelize the onions.

    Simply Recipes / Sally Vargas

    Caramelize the onions.

    Simply Recipes / Sally Vargas

  2. Deglaze the pot:

    Increase the heat to medium-high heat. Add the white wine and use the wooden spoon to scrape up the brown bits on the bottom and sides of the pot. Bring the wine to a boil and stir frequently for about 4 minutes or until most of the liquid has evaporated.

    Vegetarian French onion soup with mushroom broth.

    Simply Recipes / Sally Vargas

  3. Add the flour:

    Sprinkle the flour over the onions. Stir the mixture until no visible flour remains. Cook for 3 to 4 minutes, stirring frequently. 

    Add flour to the caramelized onions.

    Simply Recipes / Sally Vargas

  4. Add the broth, herbs, and seasoning:

    Add the mushroom broth and use the wooden spoon to scrape any brown bits stuck to the bottom and sides of the pot.

    Add the thyme, bay leaves, salt, and black pepper, and stir to combine.

    Add broth and herbs to caramelized onions.

    Simply Recipes / Sally Vargas

  5. Simmer the soup:

    Bring the soup to a slow boil. Once boiling, reduce the heat to medium-low and simmer uncovered for 15 minutes.

    Simmer the broth.

    Simply Recipes / Sally Vargas

  6. Finish the soup:

    Stir in the Worcestershire sauce and balsamic vinegar. Scoop out the thyme stems and bay leaves and discard them.

  7. Meanwhile, preheat the broiler. 

    Set the oven rack to the top, closest to the broiler, and turn the broiler on high. 

    Line a large, rimmed baking sheet with aluminum foil. Arrange six oven-safe bowls or soup crocks on the baking sheet. 

  8. Broil and serve: 

    Ladle the soup into the bowls. Fill the bowls leaving 1/2- to 1-inch space on top for the bread and cheeses. Top each with 2 slices of baguette, 1 slice Swiss cheese, and about 1/4 cup Gruyere cheese.

    Carefully place the baking sheet into the oven and broil for 2 to 5 minutes. Keep an eye on it so that the tops don’t burn. Broil until the cheese is melted, bubbling, and just starting to brown. Serve it immediately while its warm. 

    Did you love this recipe? Give us some stars below!

    Lay baguette on top of soup.

    Simply Recipes / Sally Vargas

    Sprinkle cheese on top of baguette.

    Simply Recipes / Sally Vargas

    Vegetarian French onion soup with mushroom broth.

    Simply Recipes / Sally Vargas

Nutrition Facts (per serving)
811 Calories
34g Fat
94g Carbs
33g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 6
Amount per serving
Calories 811
% Daily Value*
Total Fat 34g 43%
Saturated Fat 16g 82%
Cholesterol 78mg 26%
Sodium 2363mg 103%
Total Carbohydrate 94g 34%
Dietary Fiber 7g 24%
Total Sugars 22g
Protein 33g
Vitamin C 18mg 89%
Calcium 681mg 52%
Iron 6mg 32%
Potassium 775mg 16%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
Nutrition information is calculated using an ingredient database and should be considered an estimate. In cases where multiple ingredient alternatives are given, the first listed is calculated for nutrition. Garnishes and optional ingredients are not included.