My favorite homemade French onion soup recipe that’s easy to make and full of the richest caramelized onion flavors.

Who’s ready for a cozy bowl of homemade French onion soup? ♡
We actually just arrived home late last night from spending a week in Provence with our parents. And amidst the most delicious week of meals together around the table in our little cottage — with fresh croissants and baguettes picked up from the local bakery, farmers market wild mushrooms and artichokes the size of your head, approximately one million French cheeses, herby olives, fresh raspberry tart, plus the loveliest crisp local rosés — I also channeled my inner Julia Child and simmered up a batch of my favorite French onion soup for dinner one evening. And it was delightful.
I actually first shared this recipe here during my very first year of blogging — now ten years ago! — and have made it countless times since. And it’s always, always a winner. Nowadays, I tend to make it vegetarian (using veggie broth instead of traditional beef broth) so that both my husband and I can enjoy it. And after living in Barcelona for a few years, we’ve also come to love the Spanish twist on this recipe as well, which includes cracking an egg into each soup bowl and then broiling it (with or without cheesy toast) until the egg is perfectly poached on top of the soup.
However its made, French onion soup is a classic and will forever remain one of my all-time favorite comfort foods. So if you’re looking for a well-tested recipe to add to your repertoire, I can vouch that this one’s a keeper!
Easy French Onion Soup Recipe | 1-Minute Video
French Onion Soup Ingredients
The good news is that classic French onion soup only requires a few simple ingredients. You will need:
- Onions: You can use white, yellow or red onions for French onion soup. But to make it the classic way, you will need 5-6 large yellow onions, peeled and thinly sliced.
- Butter: The tastiest (French) way to caramelize those onions. Although feel free to use vegan butter (or just olive oil) if you are avoiding dairy.
- Flour: To help thicken the soup. I typically use all-purpose, but you’re welcome to use a gluten-free flour blend. Or just omit the flour if you don’t mind having a thinner soup broth.
- White wine: To help deglaze the pan. If the onions start to burn a bit on the bottom of the pan while they are caramelizing, feel free to add in an extra few splashes of wine along the way to help lift up those browned bits.
- Beef stock: The classic base for French onion soup, although we often sub in veggie stock in our house to make this soup vegetarian.
- Worcestershire, garlic, bay leaf, fresh thyme, salt and pepper: For seasoning. Feel free to tinker around with the amounts of each. And if you don’t have fresh thyme on hand, you’re welcome to sub in dried thyme (or some herbs de Provence).
- Bread and cheese: For the cheesy toasts on top. Feel free to use whatever kind of bread (I recommend a crusty baguette) and shredded or sliced cheese (Gruyere, Asagio, Swiss, Gouda, Mozzarella, etc) that you prefer.
Full ingredients/instructions listed in the recipe below.

How To Caramelize Onions
The first step to making traditional French onion soup is to transform that big pile of raw onions into the decadent, sweet, and irresistibly caramelized onions that will form the rich base of this recipe. Caramelization is actually a really simple process, but it does take some time. So turn some music on, maybe pour yourself an extra glass of that white wine we will be using, and get ready to spend some quality time by the stove as we work some onion magic.
To make the caramelized onions, simply melt the butter in a large stockpot over medium heat. Add your onions, and toss so that they are coated in the butter. Let them cook for about 5 minutes, until they start to turn a bit golden on the bottom, and then give them a stir. Repeat for another 5 more minutes, then give them another good stir. Then continue this rhythm — stirring the onions every 3-5 minutes or so initially, then every 1-2 minutes near the end — until the onions have caramelized into a rich chestnut brown color. (Anytime the onions look like they are starting to burn on the bottom of the pan, just add in a splash of wine or water and use a wooden spoon to scrape up those browned bits on the bottom of the pan.) Then stir in a half cup of wine to fully deglaze the bottom of the pan once the onions are ready to go.

How To Make French Onion Soup
Once your onions are caramelized and ready to go, simply:
- Add the remaining ingredients. Stir the stock, Worcestershire, bay leaf and thyme together in a large stockpot, then let the soup continue to cook until it reaches a simmer. Reduce heat and simmer for at least 10 minutes. Then remove the thyme sprigs and bay leaf, give the soup a taste, and season as needed with S&P.
- Toast the bread. While the soup is simmering, go ahead and prep your toppings as well. If you’re going the traditional route with a slice of bread, toast it in the oven or in a toaster until it is nice and golden.
- Broil. Place your oven-safe bowls on a thick baking sheet. Then once the soup is ready to go, ladle the soup into each bowl, top with the toasted bread and your desired amount of cheese. Place the baking sheet on an oven rack about 6 inches from the heat and broil for 2-4 minutes until the cheese is melted and bubbly, keeping a close eye on the cheese so that it doesn’t burn.
- And…serve! While the cheese is freshly-melted and the soup is hot and bubbly. Yum.

Possible Variaions
There are all sorts of tweaks, shortcuts and additions that you are welcome to use to customize your own French onion soup recipe. For example, feel free to:
- Skip the broiling step. If you don’t happen to have oven-safe bowls for this recipe, or if you would just prefer to skip the broiling part of the recipe all together, feel free to just top your soup with the hot slices of toast and then sprinkle the cheese on top. (Or you can bake up cheesy toasts in the oven, and then add them to your soup.)
- Use croutons. In lieu of toasting slices of bread, you could also save time by using store-bought or homemade croutons.
- Use dried herbs. If you don’t have fresh thyme on hand, feel free to substitute a teaspoon of dried thyme instead. Or I also sometimes like to use herbs de Provence instead for extra flavor.
- Make it vegetarian. Use veggie stock (plus vegan Worcestershire, if you would like).
- Make it vegan. Use vegan butter (or olive oil), veggie stock, vegan Worcestershire and vegan cheese.
- Make it gluten-free. Use gluten-free flour (or just omit the flour entirely) and gluten-free bread.

What To Serve With French Onion Soup
Looking for some good side dishes to serve with this recipe? Here are a few of my faves:
- Everyday Salad
- Roasted Artichokes or Roasted Brussels Sprouts
- Berry Fruit Salad or Winter Fruit Salad
Enjoy, everyone!

French Onion Soup

Ingredients
- 4 pounds yellow onions, peeled and thinly sliced (approximately 5-6 large onions)
- 3 tablespoons butter
- 4 cloves garlic, minced
- 3 tablespoons flour
- 1/2 cup dry white wine
- 6 cups of beef stock (or veggie stock)
- 1 teaspoon Worcestershire sauce
- 1 bay leaf
- 3 sprigs fresh thyme (or 1 teaspoon dried thyme)
- fine sea salt and freshly-cracked black pepper, to taste
- baguette
- grated or sliced cheese (such as Gruyere, Asiago, Swiss, Gouda or Mozzarella)
Instructions
- Caramelize the onions. In a large heavy-bottomed stockpot, melt the butter over medium-high heat. Add the onions and sauté until well for about 30 minutes until caramelized (but not burnt), initially stirring every 3-5 minutes, then about once a minute near the end of caramelization to prevent burning*. Add garlic and sauté for 2 minutes. Stir in the flour and cook for an additional 1 minute. Stir in the wine to deglaze the pan, using a wooden spoon to scrape up any browned bits on the bottom of the pan.
- Simmer the soup. Add the stock, Worcestershire, bay leaf, and thyme and stir to combine. Continue to cook until the soup reaches a simmer. Then reduce heat to medium-low, cover and simmer for at least 10 minutes. Discard the bay leaf and sprigs of thyme. Taste the soup and season with salt and pepper as needed.
- Toast the bread. Preheat oven to 400°F. While the soup is simmering, slice the baguette into 1-inch thick pieces and arrange them in single layer on baking sheet. Bake for 6-8 minutes, until the bread is toasted and golden around the edges. Remove and set aside.
- Broil the topping. Switch the oven to the broiler. Once the soup is ready to serve, place your oven-safe bowls* on a thick baking sheet. Ladle the soup into each bowl, then top with a baguette slice and your desired amount of cheese (I used about 1/4 cup shredded cheese for each). Place on an oven rack about 6 inches from the heat and broil for 2-4 minutes, or until the cheese is melted and bubbly. (Keep a close eye on them so that they do not burn.) Remove from the oven and serve immediately while the soup is hot and bubbly.
Notes




Delicious! So easy and so tasty! Thanks for sharing! ❤️
Super easy, but it looks and tastes like I’ve been cooking all day! Rich and SEXY!
I love the richness of this recipe! The secret is in the carmelizing of the onions. I added a bit of thin sliced apple to give it a touch of sweetness – and made extra cheese toasties to go with the soup!
How many servings are in this recipe?
How many serving are in this recipe?
I don’t have white wine. Can I use a mild red wine?
I used red wine and it worked great
Love it. I use beef broth instead of stock I find it tastes better than the stock. I omit white wine and use beef broth for deglazing
Turned out great!! My family loved this – we’ve used different recipes in the past, but will keep using this one. I used one less onion and thus one less cup of broth, provolone cheese because that’s what we had, and mostly eyeballed the ingredients rather than measure – turned out wonderfully! And it makes a ton!
I wish there was a note about it possibly taking a very long time to caramelize the onions! I was making this for dinner so after an hour and 40 min of cooking the onions, we just moved forward because we were starving. The onions were lightly browned at that point. The soup was okay but not amazing. Are there any other tips for caramelizing onions faster? Just surprised that the recipe said about 30 minutes and I was at it for over and hour longer than that and was still not that the right level. I want to try this again and give myself more time to get the onions right, but I want to make sure I’m not doing anything wrong here!
Next time just split onions into two pans and it should go faster! Can combine when they’re carmelized and finish the rest of the recipe!
So you probably did one of several things… a lid was placed over the onions (liquid needs to evaporate as it is released to caramelize onions), the heat was not turned up enough (this is a labor of love, you have to babysit it the entire time the onions are cooking to prevent burning), and lastly the onions were cut too thick. I will say in truth the 30 minutes suggested here is very short to properly caramelize, it takes about an hour, but more than that is human error. Hopefully that helped, this recipe (other than the 30 minute caramelizing time) is a wonderful base recipe for french onion so hopefully you try it again with these tips and make it your own!
As long as you’re there keeping an eye on the process there’s no harm turning the heat up while caramelizing onions. Keep your deglazing liquid of choice on hand and crank it up to medium high or even high to speed things up.
I am having the same problem. The bottom of my pot is browning but not my onions. Very disappointing when it says 30 minutes and the rest of my dinner will be done before the soup.
You can speed up the time of caramelization by adding half a teaspoon of sugar to the onions when they become translucent. The best way though is low and slow. Medium heat, butter and just let them go. The longer the time, the better the flavor.
Needs to be a bit more beefy. Overall it was tasty. We have a restaurant that serves the best I’ve ever had, if only I could get my hands on that recipe.