French Onion Soup

This easy French onion soup recipe will rival any you've had at a restaurant. Topped with crispy, cheesy baguette, it's rich, savory, and comforting.

French onion soup

French onion soup is one of my favorite comfort foods. For years, I hadn’t been able to find a good vegetarian version of it, because it’s traditionally made with beef broth. But since caramelized onions are what make it so flavorful, it seemed like a prime candidate for a meat-free makeover. After lots of testing (and lots of soup), I’m here to tell you that this French onion soup recipe is just as good as any made with beef stock. Swimming with velvety caramelized onions, it’s bold, savory, and delicious.

To make it, I turn to my go-to ingredients for adding meaty flavor to plant-based recipes: tamari and balsamic vinegar. As with my veggie burgers and vegan meatballs, they make this soup taste wonderfully savory and tangy. To amp up the flavor further, I add a generous amount of white wine, along with aromatic thyme and garlic. Then, I finish it all off with a classic French onion soup essential: toasty baguette topped with melty cheese!

French onion soup recipe ingredients

How to Make French Onion Soup

First, caramelize the onions. Caramelized onions are what give French onion soup its sweet, rich flavor, so cook the onions for longer than you think you need to, about 1 hour. They should be very soft and golden brown before you move on to the next step. For extra browning, I like to raise the heat from low to medium for the last 20 minutes.

Next, simmer the soup. Add the vinegar, thyme, tamari, and garlic to the onions, and stir, scraping up any browned bits stuck to the bottom of the pot. Stir in a few tablespoons of flour, which will thicken the soup as it cooks, and then add the wine. Finally, add the broth and simmer the soup, uncovered, for 30 minutes.

Caramelized onions

Then, toast the bread. Top thin slices of baguette or French bread with grated cheese and bake them in a 450° oven until the baguette is toasted and the cheese is melted. For the best results, use a good melting cheese with a rich, nutty taste. I like Gruyere cheese or a combination of aged white cheddar and Parmesan.

And finally, eat! When the bread is ready, ladle the soup into bowls. Top each one with a toasted slice of bread and thyme sprigs, and enjoy!

Baguette slices with Gruyere cheese on a baking sheet

French Onion Soup Recipe Tips

  • Slice your onions thinly. French onion soup is best when thin slices of onion almost melt into the hot broth, so you don’t want big onion chunks in this recipe. Use the sharpest knife you have to slice the onions into thin strips.
  • Get the onions nice and brown. French onion soup’s rich flavor comes from its base of caramelized onions, so don’t cut the onion sautéing time short! Cook them over low heat for 40 minutes, or until they’re very soft. Then, turn up the heat so that they start to brown, and cook them for 20 minutes more. You’ll be rewarded for your patience when you taste the robust, umami soup!
  • Toast extra baguette slices. This soup is delicious on its own, but topping it with crisp, cheesy baguette makes it really spectacular. Whenever we make this recipe, Jack and I always finish our slices of bread before our soup bowls are empty. I recommend toasting extra baguette so that you have enough to enjoy with your entire bowl of soup.
  • Make it ahead. This soup’s flavor deepens as it sits in the fridge, so it’s a great recipe to make ahead. Cook the soup from start to finish and refrigerate it for up to 2 days. When you’re ready to eat, reheat the soup on the stove and toast the baguette slices in the oven. If you have any leftover soup, freeze it for up to 3 months.

Cheesy toasted baguette on a baking sheet

French Onion Soup Serving Suggestions

This French onion soup recipe is deeply flavorful and rich, so a little goes a long way. I love to serve small bowls as a starter for a holiday dinner or a date night in. Pair it with a simple salad, like my Caesar Salad or Pear Salad, and any protein you like! It would also be excellent with pasta. Try serving it with one of these recipes:


French Onion Soup Recipe

More Favorite Soup Recipes

If you love this French onion soup recipe, try one of these soups next:

Want even more soup recipes? Check out this post for 30 of my favorites!

French Onion Soup

rate this recipe:
5 from 20 votes
Prep Time: 10 mins
Cook Time: 1 hr 30 mins
Total Time: 1 hr 40 mins
Serves 4 to 6
This French onion soup is just as good as any you'd find in a restaurant! The broth is rich, savory, and deeply flavorful, but the best part is the toasted baguette. Covered with melty, golden brown cheese, it takes this recipe over the top.


  • 6 tablespoons extra-virgin olive oil
  • 3 pounds medium yellow onions, halved and thinly sliced
  • ¾ teaspoon sea salt
  • tablespoons balsamic vinegar
  • tablespoons tamari
  • tablespoons fresh thyme leaves
  • 3 garlic cloves, minced
  • 3 tablespoons all-purpose white flour
  • 1 cup dry white wine
  • 6 cups vegetable broth
  • Freshly ground black pepper


  • Baguette slices
  • Gruyère cheese, aged cheddar, and/or Parmesan cheese
  • Fresh thyme
  • Pinch of red pepper flakes, optional


  • Heat the oil in a large pot or Dutch oven over medium heat. Add the onions, salt, and several grinds of pepper and toss to combine. Reduce the heat to low and cook for about 40 minutes, stirring every few minutes, or until the onions are very soft. Increase the heat to medium and cook 15 to 20 more minutes, stirring often, until golden brown. Add the vinegar, tamari, thyme, and garlic and stir. Sprinkle the flour on the onions, stir, and cook for 2 minutes. Stir in the wine and cook 2 minutes, or until evaporated. Add the broth and simmer over medium heat for 30 minutes.
  • Preheat the oven to 450°F and line a baking sheet with parchment paper. Place the baguette slices, topped with cheese, on the baking sheet and bake until the slices are toasted and the cheese is melted, 8 to 10 minutes.
  • Ladle the soup into ramekins or bowls and top each with a toasted baguette piece, fresh thyme, and a pinch of red pepper flakes, if desired.



Leave a comment:

Your email address will not be published. Required fields are marked *

Rate this recipe (after making it)

  1. vivian

    5 stars
    This was really good, and no less good than if it had meat broth in it. I used old cheddar on the toasts because gruyere is generally not vegetarian. Served with a citrus salad for a great transition from winter to spring meal. Thanks for a great recipe!

  2. Jill

    Made today for a Friday during Lent lunch…amazing!! Just like a French bistro!

  3. Martina Smith

    5 stars
    Everyone of your recipes are fantastic.

  4. Sabrina from

    love this dish and yes the toasted baguette may be the best thing about it, thank you!

  5. Ky

    Could I use a dry red wine instead of white?

    • Jeanine Donofrio

      you could!

      • Shirley Thompson

        I have a question about the wine. I do not drink wine, but I would have no objection to using it to prepare this soup. However, my knowledge of wine is practically nil. What kind of dry white wine would you recommend using?

        I love French onion soup and look forward to making your recipe.


        • Jeanine Donofrio

          Hi Shirley, I’d go for an inexpensive Pinot Grigio.

  6. CdnKing

    5 stars
    Boy oh boy was this good. It is totally worth the cooking time. I halved the recipe but wish I would have made the fully version. It was so tasty, even my husband loved it (and he is sceptical about vegetarian food and is not a fan of soups generally!) I will definitely make this again. Thanks so much for the recipe.

    • Joshua mwema

      I agree. this has been a wonderful article

  7. Teri

    This sounds fabulous! Can I use arrowroot to thicken rather than flour? If so amount?

  8. Sky Stanfield

    Hi do you do this all with the pan uncovered? Seems like the first stage should be covered at least?

    • Jeanine Donofrio

      Yes, I do it uncovered – you’re essentially caramelizing the onions at the beginning stage (stirring often), which is usually done uncovered. Hope that helps!

  9. KSF

    5 stars
    I made this soup tonight – my husband and I loved it! I made it exactly as directed – it was easy and delicious. Can’t wait to make it again!

  10. Danielle

    What brand of cheese for the parm and gruyere did you use that is vegetarian? I just discovered rennet in cheese and am so saddened that while I thought I was a strict vegetarian for a decade I’ve still been consuming animal product. I haven’t been able to find these types of cheeses with veg or microbial enzymes instead. This looks amazing but I don’t know what cheese to use. Any tips?

    • Jeanine Donofrio

      Hi Danielle, the BelGioioso brand has a Parmesan that’s specifically labeled vegetarian… look for that one or if you go to a store with a cheese counter (like Whole Foods or specialty cheese shops), they can let you know which are specifically vegetarian. And/or white cheddar, asiago, or fontina can be used on the toasts instead!

  11. Jeanine Donofrio

    Hi Vivian, I’m so glad you loved the soup – thank you for pointing out the cooking time issue, I’m so glad it was worth the wait!

  12. Sabrina from

    one of my favorite dishes, thank you, love the indivifual serving cookware too1

  13. Alix

    5 stars
    This soup is DIVINE! I just made it last night. You do feel a little crazy cooking the onions for that long, but I wonder if the cooking time could be reduced by covering the onions during the first 40 minute segment. I’ll try that next time. I’m finishing the leftovers right now and I have to say, it is even better the next day. Such a savory flavor. Thank you! ~

  14. Tania

    5 stars
    Thanks for the nicest recipe, looks so delicious!

  15. Susan

    I won’t be able to make this until next fall (we’re about to start an extended trip), but even though I am neither vegetarian nor much of a soup eater, this one looks like a must-make. I do like French onion soup. And seeing your shredded cheese on the baguette makes me think that my pre-shredded Chihuahua cheese, which melts beautifully, would be the perfect choice. This recipe sounds much better than any other I’ve seen.

  16. Kristin

    This looks amazing! I can’t wait to try it! Is there a gluten-free flour you’d recommend using to thicken the soup? Thank you!

    • Jeanine Donofrio

      Hi Kristin, I think a GF all purpose blend would work just fine. A bit of cornstarch would work too. I hope you enjoy!

      • Wendy

        Would you use the same amount of cornstarch to sub flour?

        • Jeanine Donofrio

          I would do about 1/2 tablespoon cornstarch – but add it at the end. Take 1/4 cup of the simmered soup broth (get a scoop without onion pieces) and put it in a little bowl. Whisk in the cornstarch until there are no clumps and then add that mixture to the soup. If you’d like it thicker, you can repeat with a little more. I hope that helps!

          • Wendy


A food blog with fresh, zesty recipes.
Photograph of Jeanine Donofrio and Jack Mathews in their kitchen

Hello, we're Jeanine and Jack.

We love to eat, travel, cook, and eat some more! We create & photograph vegetarian recipes from our home in Chicago, while our shiba pups eat the kale stems that fall on the kitchen floor.