This post contains affiliate links. Read my disclosure policy here.
This Vegan French Onion Soup is comfort food at its best! It's loaded with deeply caramelized onions, broth-soaked bread, and melty vegan cheese that's broiled until bubbly and golden.

French Onion Soup was a childhood favorite of mine, and I was pretty bummed after going vegan that I couldn't have it anymore. Thankfully, I quickly learned how easy it was to veganize. I really enjoy recreating those food memories, and this Vegan French Onion Soup is one of my favorites.
I love making soup, especially during the cooler months. It's usually easy to make, budget-friendly, comforting, and perfect for make-ahead meals. Plus, leftovers are even better the next day!
This Creamy Potato Leek Soup is another family favorite, along with my Butternut Squash & Sweet Potato Soup. They are both hearty, savory & satisfying!
Alright, back to this soup. The onions are the star of the show!
They're what create that deep, rich flavor, so don't rush the caramelization process. As the onions slowly cook, they'll become very soft and deeply golden, developing the sweet, savory flavor that makes this soup so irresistible.
Vegan French Onion Soup - No dairy needed
The homemade vegan mozzarella is soft, creamy, and stretchy, making it the perfect topping for this French onion soup. Once broiled, it gets melty and lightly golden on top without the need for dairy.
It comes together with just a handful of simple ingredients: raw cashews, tapioca starch, nutritional yeast, non-dairy milk, lemon juice, garlic powder, and salt.
The cheese is surprisingly easy to make. Just blend everything until completely smooth, then cook it on the stovetop for a few minutes until it thickens and becomes stretchy.
Spoon it generously over the toasted baguette slices, then place the soup under the broiler until the cheese is bubbly and lightly golden. It adds the perfect creamy contrast to the rich, savory broth and caramelized onions.
And if you want to keep this recipe even easier, you can use your favorite meltable vegan mozzarella instead.

How to make Vegan French Onion Soup
1. Caramelize the onions. Cook the onions covered for about 10 minutes, then uncover and continue cooking until most of the moisture has evaporated. Add the sugar and cook until the onions are very soft, deeply golden, and caramelized. Adjust the heat as needed to prevent burning.
2. Build the flavor. Add the garlic and thyme, then pour in the wine and scrape up the flavorful browned bits from the bottom of the pot. Once the wine has reduced, stir in the flour and cook briefly.
3. Simmer the soup. Stir in the broth, bay leaf, salt, and pepper. Bring to a simmer, then reduce the heat and gently simmer for 10-15 minutes to allow the flavors to come together.
4. Make the vegan mozzarella. Blend the cheese ingredients until completely smooth, then cook in a small saucepan, stirring frequently as it thickens, until stretchy and scoopable.
5. Assemble and broil. Ladle the soup into oven-safe crocks and top with toasted baguette slices and vegan mozzarella. Broil for a few minutes until the cheese is melted and lightly browned.
FAQs
Yes. A dry white wine such as Sauvignon Blanc or Pinot Grigio works well and will give the soup a slightly lighter flavor. Avoid sweet wines, which can make an already naturally sweet onion soup too sweet.
Yes. You can use a few sprigs of fresh thyme in place of the dried thyme. Add the sprigs with the broth and bay leaf, then remove them before serving.
Yes. Make the soup through the simmering step, then cool and refrigerate it separately from the bread and cheese. When you're ready to serve, reheat the soup, toast the baguette slices, assemble the crocks, and broil
Yes. I would freeze just the soup, without the bread or cheese. Once cooled, transfer it to a freezer-safe container and freeze. Thaw it in the refrigerator overnight, then reheat it on the stovetop, then add freshly toasted baguette and cheese before broiling.
If you're using a mild vegetable broth and want a little more savory depth, a small amount of soy sauce or tamari can help. I'd start with 1 teaspoon, taste after the soup has simmered, and add more only if needed. Reduce the added salt accordingly.

More soup recipes to enjoy
Did you make this recipe? Let me know what you think by leaving a star ⭐️⭐️⭐️⭐️⭐️ rating and sharing your feedback in the comment section below. It would make my day!
⭐️ Subscribe to the Vegan Huggs Newsletter and receive weekly recipes straight to your inbox! You'll also receive my FREE eCookbook featuring my top 10 recipes.
Recipe
Vegan French Onion Soup
Ingredients
Soup
- ¼ cup vegan butter or olive oil (or a blend of both)
- 4 medium(2 lbs) yellow onions , sliced ¼-inch thick
- ¾ teaspoon granulated sugar
- 4 cloves garlic , minced
- 1 teaspoon dried thyme
- ¾ cup dry red wine (cabernet, merlot, or pinot noir)
- 3 tablespoons all-purpose flour
- 2 quarts low sodium vegetable broth
- 1 bay leaf
- 1 ½ teaspoons sea salt , more to taste
- Fresh ground pepper , to taste
- 1 baguette , sliced
Cashew Mozzarella (*Optional - See Note)
- ¼ cup raw cashews , soaked if needed (*see note)
- 1 ¼ cup unsweetened plant-based milk
- 2 tablespoons tapioca starch
- 1 tablespoon nutritional yeast
- 2 teaspoons lemon juice
- ½ teaspoon granulated garlic
- ¾ teaspoon sea salt
Recommended Equipment
- Large, Wide-bottomed pot with a lid
- Oven-Safe Soup Crocks (*see note)
- High-Powered Blender (*if making homemade cheese)
Instructions
- In a large pot, melt the butter over medium heat. Add the onions and toss to coat. Cover and cook for about 10 minutes, until the onions are softened, translucent, and beginning to collapse.
- Uncover and cook until most of the excess moisture has evaporated, stirring occasionally. Add the sugar and continue cooking uncovered, stirring more frequently as the onions start to brown. Reduce the heat as needed if they're browning too quickly. Continue cooking until the onions are very soft, deeply golden, and caramelized. This can take 45-60 minutes.
- Add the garlic and thyme. Cook for 1 minute, stirring frequently, until fragrant.
- Add the red wine and bring to a simmer. Cook over medium heat for 3-5 minutes, scraping up any browned bits from the bottom of the pot, until most of the wine has reduced.
- Stir the flour into the onions. Turn the heat down to low and cook for 1 minute. Stir constantly so the flour doesn't burn.
- Add the broth, bay leaf, salt, and pepper. Cover, then raise the heat to get things moving. Now, uncover and reduce the heat to gently simmer for 10-15 minutes to let the flavors develop.
- When the soup is almost finished, prepare the mozzarella. Add all of the cheese ingredients to a high-powered blender. Blend on high until smooth. Pour into a small saucepan over medium heat. Cook for 3-5 minutes, stirring frequently, until the cheese is thick and stretchy. If needed, stir in a splash of milk to loosen.
- Preheat the broiler. Arrange the baguette slices on a baking sheet and broil for 1-2 minutes per side, until lightly crisp. Watch closely to prevent burning. Alternatively, toast the slices in a toaster or toaster oven. Keep the broiler on to finish the soup.
- When the soup is done, remove the bay leaf and taste for seasoning. Add more salt and pepper if needed.
- Ladle the soup into oven-safe crocks or bowls, leaving room for the bread and cheese. Add a slice of toasted baguette and top with a generous scoop of cheese.
- Place the crocks on a rimmed baking sheet and broil for 2-3 minutes, until the cheese is lightly browned and bubbly. Watch carefully to avoid burning.
Notes
- Cashews: If you don't have a high-powered blender such as a Vitamix, you'll need to soften the cashews. Pour boiling water over the cashews, then cover and soak for 20 minutes. Alternatively, soak them in room-temperature water for 2-3 hours or in the fridge overnight. Drain and rinse before using.
- The mozzarella will thicken as it cools. If it becomes too firm to scoop, gently reheat it with a splash of plant milk until soft and scoopable again.
- Cheese option: Store-bought, meltable vegan mozzarella shreds or slices will work in place of homemade.
- Wine: If you prefer to cook without it, use a splash of broth to deglaze the pot, scraping up any browned bits, then proceed with the flour step. The flavor will be slightly different, but still delicious. Not all wines are vegan, so check a vegan wine directory if needed.
- Broth: For richer flavor, use beef-style broth in place of vegetable broth. Broths vary in saltiness and intensity, so if yours is particularly salty or strong, you can replace part of it with water. Start with less added salt and adjust to taste after simmering.
- No oven-safe crocks? You have two options. For the easiest method, ladle the soup into regular bowls and top with the toasted baguette and warm vegan mozzarella. Or, for a lightly browned topping, place the toasted baguette slices on a baking sheet, top with the mozzarella, and broil until lightly browned before adding them to the soup.
- Take your time with the onions: Caramelized onions are key to the soup's rich flavor. Cooking time and heat level will vary depending on your cookware and stovetop, so use their color and texture as your guide. Cook until soft and deeply golden, adjusting the heat slightly higher/lower as needed. A wide-bottomed pot will generally caramelize onions faster than a narrower one.









Judy minier
Very yummy!
Melissa Huggins
I'm glad you enjoyed it! Thanks for sharing feedback. 🙂
Dalatias
I haven't made it yet; but it looks sooo delicious I'm thinking of doubling or tripling the recipe. Which leads me to my question: can the soup (sans bread+cheese) be frozen for future use?
Melissa Huggins
Thank you! Yes, it freezes well for 2-3 months in an airtight container. 🙂
Kasey
Absolutely lovely. I was a bit nervous to make the mozzarella from scratch, as I thought it might not taste very good or work out well, but it turned out incredible! I subbed the red wine for white wine because that's all I had, and it was still great. Will be making this again!
Melissa Huggins
Yay! I'm so happy you loved it, Kasey! Thank you for sharing feedback. 🙂
Stacey
This soup is amazing. I don’t even really like opinions but this is amazing. I’ve made it about 6 times and won’t stop. Thank you.
Melissa Huggins
I'm so happy you love the soup, Stacey. Thank you for sharing feedback. 🙂
AnnaMaria Hagelios
Excellent. Would definitely make again. Followed directions exactly and it came out really good. Thanks.
Melissa Huggins
I'm so happy you loved it! Thank you for giving it a try. 🙂
Kiki
excellent
Naomi Boucher
This soup kicks ass thank you so much
Melissa Huggins
I'm so glad you love it, Naomi! Thank you. 😉
Susan Orr
This was delicious.
Melissa Huggins
I'm so glad you loved it! Thanks for sharing feedback. 🙂
Kitty
Loved it! The mozzarella bit was not as difficult as I thought it might be. The flavour was great.i need to buy some soup crocks though. Thanks
Melissa Huggins
Yay! I'm so glad you loved it and found it easy to make. Soup crocks are great! Thank you for trying the recipe and sharing feedback. 🙂
Heather
Simply phenomenal! Thank you so much for sharing this recipe.
Melissa Huggins
I'm so glad you loved it, Heather! Thank you for sharing feedback. 🙂
Cat
I am eager to try this and wondering if you are familiar with an alternative to cashews for the mozza cheese. My husband allergic to cashews but not seeds, almonds or pistachios. Have you had success with an almond base cheese? I will try the daiya as a back up but this mozza sounds amazing if only I can figure out a way!
Melissa Huggins
Hi Cat, can he have macadamia nuts? Those would be a similar replacement and they have a neutral flavor. Blanched almonds will work well too, but they require a longer soak time (8-12 hours) and you will need a high-powered blender to get a smooth consistency. I'm sure sunflower or pumpkin seeds will work but I'm not sure how the cheese will taste. I hope this helps. Let me know if you have any more questions. Thank you. 🙂