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.









Arturo
I found that the recipe was great, but I am a big salt / umami fan. Adding a little liquid amino and / or miso paste made this PERFECT for my taste buds. Thanks for the recipe, I will definitely be making it again!
Support @ Vegan Huggs
Hi Arturo! We're so glad to hear that you liked the recipe. Thanks for stopping by 🙂
Alex
I made it tonight and you’re right it was delicious! I can’t wait to make it again when I have some oven safe bowls
Support @ Vegan Huggs
Hi Alex! We're so happy that you liked the recipe! Thanks so much for trying it out, and yes the oven safe bowls are so handy! 🙂
Alex
Do you think this would still be good if you are unable to broil it at the end?
Melissa Huggins
Hi Alex, Yes, it'll still be delicious! It's mostly to melt the cheese and broil the top of it. 🙂
Phil
When do you add garlic?
Melissa Huggins
Hi Phil, the garlic is added in Step 2 after the onions have cooked for 40-50 minutes. Hope this helps. Thanks for stopping by. 🙂
Sarah
Hello,
Im thinking of making this soup as a meal prep, if that makes sense? Can I reheat the soup with the homemade cheese on top in the microwave? Please note I will not be adding the baguette.
Thank you!!
Melissa Huggins
Hi Sarah, I'm sorry for the late reply. I haven't tried reheating it with the cheese in the microwave. I think it would work, but I'm not sure if the cheese will dry out or melt into the soup. I wish I could be more helpful. I'll have to experiment the next time I make it. Thank you for stopping by. 🙂
Christine
Thank you - This soup is amazing! My 5 year daughter loved it. I paired it with onion and sage Sourdough.
Alex
Soooo delicious! Used Miyoko's fresh mozz bc I already had some 😋 this will definitely become a go-to for me
Support @ Vegan Huggs
Hi Alex! We are so happy to hear that you loved the recipe and will be making it again! Thanks so much for stopping by 🙂
Just Sierra’s Mom Loralei
Vegan French Onion Soup (and vegan cheese:)
My 16 yr old daughter and I made this tonight and it is amazing. Incredible how much it tastes better than non-vegan version. No guilt eating real food here.
Recipe was well written, easy to follow and wouldn’t change a single thing.
Support @ Vegan Huggs
Hi! Thank you for trying it out! So fun that you and your daughter cook together 🙂 We are so happy to hear that you loved the soup!
Sara-Ann Cook
ok, wow! this was one of the best dishes i think i’ve ever made. I have never had french onion soup before, vegan or not. the soup has amazing depth, a beautiful combo of sweet and savory. my only sub was that i used herbs de provence in place of just thyme (didn’t have any.) It took me about 1 hour and 15 min just to cook the onions down, and to be honest i could’ve still let them go longer, but i tried to be as patient as possible. in the cheese, i had to sub some cornstarch in place of tapioca, it didn’t get stringy but did get thicker. the combination of the soup and cheesy flavor is INCREDIBLE. This is the first recipe i’ve made of yours and can’t wait to come back for more. Gonna go eat another bowl of this now....thanks for the amazing recipe.
Support @ Vegan Huggs
Hi Sara-Ann! This is such an amazing compliment! Thank you so much for trying out the recipe, and we are so happy to hear that you loved it 🙂
Jenn
This was the best French soup I’ve ever made! Thank you!!!
Support @ Vegan Huggs
Hi Jenn! What an awesome compliment, we're so glad you loved the recipe! Thank you for sharing 🙂
Andy K
Wow, this recipe is fabulous! Vegans and non-vegans in our household loved it. I used Ripple brand non dairy milk for the cashew cheese and it turned out great, Thank you for posting.
Melissa Huggins
Yay!I'm so happy it was a hit. I LOVE Ripple milk, but I haven't tried it for the cheese yet. It's on my list now! Thank you for giving it a try. 🙂
Lisa
Made the soup only and it was delicious and easy!
Melissa Huggins
Hi Lisa, I'm so glad it worked out for you. Thank you for giving it a try! 🙂
Anna
Love love love this soup! We used a port wine, Edward & Sons “Not Beef” bouillon cubes and Miyokos Creamery vegan fresh Mozzarella. I definitely over ate until I was uncomfortable but it was worth it😅 The soup was so rich and savory, absolutely delicious. Cannot wait to have this again and again. Thank you!
Melissa Huggins
Hi Anna, I'm so glad you liked the soup. It sounds incredible with the port wine, no-beef bouillon, and Miyoko's cheese. Thank you for making it and sharing your modifications. 🙂
Sonia Stoltz
This soup is amazing! Even the non vegans on my family were impressed!
Melissa Huggins
Hi Sonia, thank you for giving it a try. I'm so happy it was a hit with your family! 🙂
Kathy
Love the french onion oup recipe....very tasty and the red wine gave a nice rich flavour! I also made the vegan mozzarella as well. I used soy milk, but wasn’t a huge fan of the taste with the cashews and nutritional yeast combination. The texture is great, and it thickened nicely, but next time I will use water rather than non dairy milk in the cheese mixture. Will def make the soup again!
Melissa Huggins
Hi Kathy, thank you for giving it a try and sharing your feedback. So glad you liked it! 🙂