When it comes to homemade vegetarian soups, they must be satisfying, full of flavor, and cozy. Even better when they’re easy to make with simple ingredients. And ones that everyone will love, regardless of dietary preferences.

Bowl of french onion soup with bread and cheese on top on plate with spoon.

This French Onion Soup checks all the boxes.

There’s basically nothing more savory and satisfying than rich caramelized onions plus warm thyme, melty cheese, and crisp bread. It has it all –  the ultimate comfort food.

This recipe makes enough for 6-8 appetizer or side dish portions or about 4-6 large dinner-sized portions. So cozy on up, pour yourself a glass of your favorite vino, and snuggle in for this ultimate winter comfort food, ready to serve however many you need!

Is French Onion Soup…French?

It’s like, is French Toast really French? What about French fries?

Well, my friends, French Onion Soup did, in fact, originate in France.

In the 18th Century back in Paris, France, the modern version of this soup was born – also known as soupe à l’oignon. From the beginning, its true form consisted of a mixture of beef broth and caramelized onions. It’s often served grain-style with a browned crust with grated cheese, and croutons or toasted bread.

Onions have a long history and were often considered food for the poor, as they are abundant and grow quite easily. That just feels like a bonus for me: a budget-friendly soup that’s also delicious!

Overhead ramekin of french onion soup with thyme garnish on baking sheet.

Ingredients for Vegetarian Onion Soup

Although the classic version of French Onion Soup is made with (usually) beef stock – it’s quite simple to make a few swaps and have a vegetarian soup that’s equally as savory, rich, and flavorful.

Here are the ingredients we’re using to do so – and a few substitute ideas, if needed. As always, be sure to see the full recipe card below for ingredient amounts and specifics.

Ingredients in bowls.
  • Yellow Onions: the star of the show! I recommend using yellow onions because they have a just-right balance of sweet and pungent mild onion flavor and the deepest flavor. Feel free to experiment with a mixture of yellow onions and shallot, or add in a mixture of red onion. Try adding a sweet onion for an even sweeter flavor, too.
  • Unsalted Butter: for caramelizing the onions. Butter adds even more richness, but you can substitute olive oil if needed. P.S. unsalted so we can add salt to our tastes and layer in that flavor!
  • Garlic: can I really have caramelized onions without garlic? I think not. They caramelize, too, becoming sweet, aromatic, and absolutely divine.
  • Bay Leaf: cooks with the soup to add a subtle depth of flavor.
  • Fresh Thyme: I’m under the belief that you cannot have FOS without thyme. The earthy, subtle, savory but also sweet flavor that thyme provides is basically a match made in heaven with this umami-loaded soup. If you need to use dried, go ahead, but remember to halve the amount since dried is much more concentrated.
  • Red Wine: just a little deglazes the pan and adds beautiful color to the soup. You can omit it and simply substitute it with broth/stock if needed. I do recommend adding a pinch more Worcestershire sauce or even soy sauce if omitted.
  • Vegetable Stock: our meat-free substitute for beef broth. Substitute half with mushroom broth if you want even more richness. A high-quality, flavorful broth makes all the difference!
  • Worcestershire Sauce: it adds a wonderful umami-ness to the soup, with a deep richness. If needed, find a vegetarian version made without anchovies. You can also use soy sauce, but add a little less and check to taste, since it will have a more distinct flavor.
  • Apple Cider Vinegar: a little to cut the richness and sweetness of the soup.
  • French Bread or Baguette: there are a few options for topping the soup with toasted bread, which we’ll dive into in a bit. A baguette is an ideal option because the slices are smaller – perfect for on top of a ramekin!
  • Gruyere & Parmesan Cheese: melty, delicious cheese topping. Be sure to look out for specifically vegetarian cheeses, or substitute with a vegan cheese you love. You can also use a different variety of cheese from mozzarella, swiss, or fontina.

How to Make Vegetarian French Onion Soup

All-in-all, this is quite an easy soup to make.

It just requires a little extra time, because caramelizing the onions is the absolute most important step. A step that requires every bit of patience. It’s where our rich onion flavor comes from, and the deeper the onions caramelize, the better the soup.

I will say, I love easy soups like this because although they do take time, it all means I can have a clean kitchen by the time it’s done (#winning)!

Step 1: Caramelize The Onions

This VIS (very-important-step) is…very important. And worth mentioning again, and again.

It should not be a fast process. In fact, the longer it takes the better. Truly, low, and slow is the way to go when caramelizing onions – it should take around an hour. The goal is to have rich caramelization throughout the sliced onion – not just on the outside.

The time it takes to caramelize the onions will depend on a few factors, the first being the type of pan you’re using, and its size.

Type of Pan to Use

An enameled cast-iron pot is my least favorite choice; it actually takes quite a bit longer to caramelize the onions to the perfect color.

I recommend using a large stainless steel 8-quart pot (or carbon steel) if you have one available. Otherwise, caramelize the onions in a cast-iron skillet and then transfer to a stock pot when ready to continue preparing teh soup.

How to Slice the Onions

It’s also really important to have evenly sliced onions so that they cook at the same rate.

This is how I slice onions to make caramelized onions:

  • Cut both ends off of the onion.
  • Place the cut side down on a cutting board and slice the onion in half.
  • Then, remove the peel of the onion halves.
  • Starting at the side of the onion (the part that’s not an open cut), thinly slice across the onion.
  • Peel apart the layers and voila, you have sliced onion!

Low and Slow Process

As mentioned, caramelizing onions in butter provides the best flavor, richness, and even caramelization.

Melt the butter until bubbling, over medium heat, then add the perfectly sliced onions, stirring to coat in the butter. Allow the onions to cook for several minutes at this temperature until softened.

Then, reduce the heat and cook them low and slow for 45 minutes to an hour. Stir occasionally so they do not burn, and ensure they cook evenly.

If the bottom of the pan looks like it’s about to burn, or becomes quite dark, deglaze the pan with 1-2 tablespoons of water, scraping up the brown bits, and continue to cook.

The cook time for caramelizing onions will depend on the pan, temperature, and how thinly sliced the onions are. The goal is a rich, deep golden brown color – not a quickly browned, dark color.

Caramelized onions in pot.
Deep Golden Brown Caramelized Onions

Step 2: Add the Aromatics & Broth

Once the onions are a deep golden brown color, it’s time to add the garlic, thyme, and bay leaf. Stir to combine, allowing the garlic to cook for a minute.

Once it’s aromatic, deglaze the pan with the red wine, scraping up the brown bits on the bottom as you go. Let it simmer for a minute or two.

Then, add the vegetable stock and bring the entire soup to a simmer for about 20 minutes to allow the flavors to meld and develop.

Once close to ready, stir in the Worcestershire sauce and apple cider vinegar, adding to taste. Be sure to taste test for salt and pepper levels, too!

Step 3: The Bread and Cheese

There are quite a few ways to go about adding cheesy bread to the top of the soup. I prefer to basically make crostini and croutons, so this way it’s easy to assemble, the bread holds its crunch, and it makes leftovers easy!

Then, I place one ladle of soup in individual oven-safe ramekins or small bowls, add a few croutons in the middle, and top off with another ladle of soup.

Adding croutons to the center of the soup makes for easy eating – and gives us even more bread in the soup!

Then, sprinkle on cheese, place the actual baguette slices on top of the bowl (the croutons keep the bread up, too), and add another hearty sprinkle of cheese. Of course, we’re doubling up the cheese too.

Place the ramekins on a baking sheet for easy transfer, and under the broiler, they go. Bake until the cheese is golden brown and bubbly. But don’t over-broil it, or you won’t get all that ooey-gooey cheese.

Alternatively, skip the broiler by sprinkling cheese on the bread as it toasts. Then, top the bowls of soup with the bread and away you go!

Side view of soup with cheesy bread on top.

Storage & Freezing

Store any leftover soup and bread separately for the tastiest leftovers.

The soup can be placed in individual storage containers, or one large container you can ladle out of. Make sure it has a lid so it’s airtight and place in the fridge for 4-5 days.

Store plain crostini and croutons in an airtight container. If you know you will have leftovers, don’t bake the cheese on the bread so that you can store it better (and it doesn’t get soggy).

To freeze: similarly, freeze the soup on its own. I recommend using SouperCubes for easy individual-sized portions that are perfect for grab-and-go or quick dinners.

To reheat, simply warm in the microwave or stove, then broil with the bread and cheese as directed. If frozen, thaw the soup until warm, and continue topping it with cheesy bread.

Make-Ahead Options

Easily make this soup ahead of time – the flavor gets better as it sits! Similar to above, store the soup on its own once it’s made, and when you’re ready to serve, finish the process with the sliced bread and cheese under the broiler.

Spoon scooping soup in bowl.

Quick Tips for Success

Worth repeating for the best soup possible!

  • Cut onions into evenly sized slices for even cooking and caramelization.
  • Take the time to properly caramelize the onions. The most flavor is coming from this process, so do not rush it!
  • Taste as you go! There’s a lot going on in this soup, as simple as it is. Add salt in layers throughout the cooking process, and start with the lesser amount of additional flavorings, adding more to taste. Your preferences will help guide you!

Did you make this recipe? Please leave a star rating and review in the form below. I appreciate your feedback, and it helps others, too!

Side view of bowl of french onion soup with spoon.
4.34 (6 ratings)

Get the Recipe Vegetarian French Onion Soup

Cozy up with a rich, decadent bowl of Vegetarian French Onion Soup. It's just as savory and satisfying as the classic version – you won't miss the beef broth with this umami-loaded, super flavorful broth and everyone's favorite cheesy bread topping.



  • Caramelized onions in pan.
    Caramelize Onions: Melt butter in a large stainless steel stock pot over medium-high heat. Add sliced onions and stir to coat with a pinch of salt. Cook, stirring occasionally until softened, for 5-8 minutes. Reduce heat to medium-low and continue to cook onions, stirring occasionally, until they are a deep golden brown and sweet. If the bottom of the pan gets close to burning and becomes too dry, deglaze the pan with 1-2 tablespoons of water, scraping up the brown bits, and continue to cook. The caramelization process will take around 45 minutes to an hour, depending on how thinly you sliced the onions and your temperature. It’s a low and slow process for the best flavor – don’t rush this part.
  • Deglazed onions with red wine.
    Once caramelized, add the garlic, thyme, and bay leaf. Stir to combine. Increase the heat to medium and deglaze the pan with red wine, scraping up any brown bits on the bottom as you do so. Let it simmer for 1-2 minutes.
  • french onion soup in stock pot
    Add the vegetable stock and bring to a simmer for about 20 minutes. Add salt and pepper to taste. Be sure to taste test and adjust salt levels as needed; the flavor will develop the longer the soup sits and simmers.
  • Add Worcestershire sauce and apple cider vinegar. Feel free to add a little and increase to taste, if preferred. Remember to check for salt and pepper levels, too!
  • Crostini: Preheat oven to 425°F. Brush both sides of the bread slices with olive oil and place on a baking sheet. Bake in the oven for 5-7 minutes, flipping halfway through as needed, until toasted and golden brown. Toss diced bread with olive oil and place on the baking sheet, too, if using.
  • Bread covered with shredded cheese before broiling.
    Option 1 for Topping: Preheat broiler to 475°F. Spoon a little soup into the bottom of individual, oven-safe bowls. Add a toasted bread slice (or croutons). Top the bread with another scoop of soup, then add 1-2 additional bread slices and sprinkle the top of the cheese with gruyere (and sprinkled parmesan as desired). Place under the broiler for 3-4 minutes until cheese is melted and golden brown.
  • Soup with melted cheese after broiling.
    Option 2 for Topping: After toasting the bread, sprinkle cheese on top of the slices on the baking sheet and place back in the oven, turn on the broiler, and broil until the cheese is melted, about 3-4 minutes. Then, top individual serving bowls with the cheesy bread.
  • Garnish with additional grated parmesan cheese, thyme, or fresh chives as desired. Enjoy!


  • This recipe yields approximately 8 cups of soup.
  • Be sure to use an oven-safe bowl or ramekins, if broiling the individual soup bowls.
  • Look specifically for vegetarian cheese, or substitute with a preferred type.
  • Gluten-Free: use gluten-free bread.
  • Make-Ahead: prepare the soup through step 4 and store in an airtight container in the fridge. When ready to serve, continue preparing and topping with the bread.
  • Storage: place the soup in individual containers in the fridge for up to 5 days. When ready to serve again, top each dish with bread/cheese as desired.
  • To freeze: similarly, freeze the soup on its own. I recommend using SouperCubes for easy individual-sized portions that are perfect for grab-and-go or quick dinners.
Serving: 1.3cups, Calories: 508kcal, Carbohydrates: 47g, Protein: 23g, Fat: 25g, Saturated Fat: 14g, Polyunsaturated Fat: 2g, Monounsaturated Fat: 7g, Trans Fat: 0.2g, Cholesterol: 76mg, Sodium: 1933mg, Potassium: 467mg, Fiber: 5g, Sugar: 15g, Vitamin A: 1426IU, Vitamin C: 19mg, Calcium: 665mg, Iron: 2mg
Did you make this recipe?Please leave a star rating and review in the form below. I appreciate your feedback, and it helps others, too!