This vegetarian French onion soup is made with deeply caramelized onions, vegetable stock, toasted garlic-rubbed bread, and melted Gruyère. It’s rich, simple, and full of classic flavor without using meat.
In a large pot, melt the butter with the vegetable oil over medium heat. Add the sliced onions and cook over medium-low heat, stirring occasionally, until they become deeply golden and caramelized. This can take about 30–40 minutes, so do not rush this step.
Sprinkle the flour over the caramelized onions and stir well to coat them evenly. Cook for 2–3 minutes to remove the raw flour taste. Pour in the apple cider vinegar and stir, scraping up any browned bits from the bottom of the pot. Let it cook for another 2–3 minutes.
Slowly pour in the vegetable stock, stirring as you go to keep the soup smooth. Add the bay leaves, bring everything to a gentle simmer, and cook for 15–20 minutes so the flavors can come together. Taste and adjust the salt if needed.
While the soup simmers, grill or toast the bread slices until crisp and golden, then rub them with the garlic clove for extra flavor.
Remove the bay leaves and ladle the hot soup into oven-safe bowls. Place a slice of the garlic-rubbed bread on top of each bowl and sprinkle generously with grated Gruyère cheese.
Place the bowls under the broiler until the cheese is melted, bubbly, and golden brown. Carefully remove them from the oven, let them cool for a minute, and serve hot.
Notes
Take your Time with the Onions: I like to cook them slowly until they turn deeply golden. That’s what gives this vegetarian French onion soup its rich flavor.Use a Good Vegetable Stock: Since this is a meat-free version, the stock makes a big difference in depth and overall taste.Choose Sturdy Bread: I prefer a baguette or another crusty bread, so it holds up well under the soup and melted cheese.Make Ahead: The soup base can be prepared in advance and reheated before adding the bread and cheese.