This Vegan French Onion Soup will make you cry happy tears! It's loaded with savory flavors from caramelized onions, broth infused bread and bubbly gooey 'cheese'.
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.