Classic French Onion Soup – Rich, Cheesy and Deeply Savory
Classic French onion soup is slow caramelized yellow onions simmered in rich beef broth with thyme and bay, ladled into bowls, topped with toasted baguette and Gruyere, and broiled until the cheese bubbles and browns. This version takes 1 hour 50 minutes from start to finish and serves 6 people. The result is a deep golden soup with a sweet and savory base, a full flavored broth, and a crisp edged cheese cap that stays crisp long enough to reach the table.
That cap is the whole point of the dish, and it is also where most home versions fall short. Bread goes in untoasted and turns to mush. Cheese melts in a thin layer and never browns. Onions get rushed over high heat and turn bitter instead of sweet. None of those problems need special skill. They need time at the right heat, a pot you can watch, and a topping plan that fits the bowls you own.
This recipe gives you that plan. It walks through the onion stages by color and smell, not just by clock. It tells you when to stir, when to leave the pot alone, and when to loosen the brown layer on the bottom with a splash of liquid. It also gives you two topping routes: the classic broiled bowl for oven-safe bowls, and a cheese toast route for regular soup bowls. Both end with the same bubbling Gruyere. Pick the route that fits your kitchen.
Key facts up front: prep takes 20 minutes, cooking takes 1 hour 30 minutes, total time is 1 hour 50 minutes, and the recipe serves 6. The soup costs about 18 dollars in total at typical grocery prices, or about 3 dollars per bowl, and that figure is an estimate only. Prices vary by store and by cheese choice. The soup part can be made a day ahead, which makes this a strong dinner party dish. The topping must wait until serving time, and that rule matters more than any other tip in this post.
Why You Will Love This Classic French Onion Soup
The ingredient list is short, and every item has a clear job, so shopping stays simple.
Most of the cooking time is hands off once the onions are going, with a stir every few minutes.
The broth tastes full and savory without a long list of extras, because the onions do the work.
You can make the soup base a day ahead and finish it in about 15 minutes before serving.
The cheese toast option means you do not need oven-safe bowls to get a proper bubbling cap.
Leftovers reheat well for lunch, and the soup base freezes well for a later weeknight.
Ingredients You Will Need
Onions are the main event here, and the rest of the list supports them. Read through the notes before you start. A few small choices, like grating your own cheese and using low sodium broth, change the result more than any extra ingredient would.
Yellow Onions
Use 3 pounds of yellow onions, about 6 large onions, sliced thin. Yellow onions are the classic choice because they balance sweetness and sharpness, and that balance turns into deep flavor as they cook down. Slice them pole to pole into even half moons, about 1/4 inch thick. Even slices matter. Thick pieces stay pale while thin pieces darken, and uneven color gives uneven flavor. Sweet onions work and give a milder, sweeter soup. White onions work too. Red onions are best left for another dish, since they change both the color and the flavor of the broth.
Unsalted Butter and Olive Oil
Use 3 tablespoons of unsalted butter plus 1 tablespoon of olive oil for the soup. Butter gives flavor. Oil raises the smoke point a little, so the butter is less likely to burn during the long cook. Unsalted butter lets you control the salt, which matters because broth and cheese already add salt. If you only have salted butter, cut the added salt in half and taste before you add more.
Salt, Sugar, and Black Pepper
Use 1 teaspoon of kosher salt, 1 teaspoon of granulated sugar, and 1/2 teaspoon of black pepper for the soup base. Salt draws water out of the onions early, which helps them soften and then brown. Sugar is optional in a strict sense, and it helps if your onions are mild. It is a small amount, and it supports browning rather than making the soup taste sweet on its own. Pepper goes in with the salt. Taste again after the broth simmers, since broth brands vary in salt.
Garlic
Use 3 garlic cloves, minced. Garlic goes in near the end of caramelization, not at the start. Garlic burns fast over a long cook, and burnt garlic turns bitter. One minute in the hot onions is enough to take the raw edge off and let the flavor spread through the pot.
All-Purpose Flour
Use 2 tablespoons of all-purpose flour. Flour gives the broth a little body, so it coats a spoon instead of tasting like thin flavored water. Cook it for 2 minutes after you add it, stirring all the time. Raw flour tastes pasty, and that taste survives a short simmer. If you need a gluten free version, see the substitutions section.
Dry White Wine
Use 1/2 cup of dry white wine. Wine loosens the fond, the brown layer stuck to the pot, and adds a bright note that keeps the rich broth from feeling flat. A dry white like Sauvignon Blanc or Pinot Grigio works well. Dry sherry works too, and it gives a slightly nuttier note. If you prefer to skip wine, use the same amount of extra beef broth plus 1 tablespoon of white wine vinegar or lemon juice, added at the same step. The acid matters. Broth alone does not give the same lift.
Beef Broth
Use 6 cups of low sodium beef broth. Broth is the second main flavor after the onions, so quality shows here. Low sodium broth lets you season the soup yourself. Regular broth works if that is what you have, but then skip the extra salt until you taste at the end. Chicken broth gives a lighter soup that still tastes good, but it is not the classic flavor. Vegetable broth works for a meat free base, though the soup will taste lighter and less savory. See the dietary notes for that route.
Thyme and Bay Leaf
Use 2 sprigs of fresh thyme and 1 bay leaf. Thyme gives the soup its classic herbal note. Fresh thyme is best, and the sprigs come out easily at the end. If you only have dried thyme, use 1/2 teaspoon. Bay leaf adds a quiet background note. Count it in and count it out. One bay leaf left in a served bowl is an unwelcome surprise.
Baguette
Use 6 slices of baguette, cut about 3/4 inch thick. Day old baguette is ideal, since drier bread toasts crisper and holds up under cheese. Fresh soft bread soaks through fast. If your baguette is fresh, toast it a little longer. Each slice should be wide enough to sit across its bowl or, for the cheese toast method, wide enough to hold a good layer of cheese. Country bread or sourdough cut to a similar size works in the same way.
Gruyere and Parmesan
Use 2 cups of shredded Gruyere, about 8 ounces, plus 1/4 cup of grated Parmesan if you like. Gruyere is the classic cheese for this soup. It melts smoothly, stretches a little, and has a nutty flavor that suits the sweet onions. Grate it from a block. Pre shredded cheese is coated to stop clumping, and that coating can make the melt grainy and less smooth. Parmesan is optional, and a small amount adds a salty, savory edge to the cap. Swiss or Emmental are the closest swaps for Gruyere. Mozzarella melts well but tastes milder, so it gives a less classic result.
Recommended Equipment
Large heavy bottomed pot or Dutch oven, at least 5 quarts
Wooden spoon or heatproof spatula
Sharp knife and cutting board
Baking sheet
6 oven-safe bowls, only if you use the classic broiled bowl method
Regular soup bowls, if you use the cheese toast method
Box grater for the cheese
Ladle
A heavy pot matters more than a fancy pot. Thin pots develop hot spots, and hot spots burn onions while the rest of the pot is still pale. A Dutch oven or any heavy bottomed pot with a wide base gives even heat and room for the onion pile to shrink. The onion pile looks huge at the start. It cooks down to a small fraction of its raw volume, and that is normal.
How to Make Classic French Onion Soup
Slice the onions thin and even
Peel the onions and cut each one in half from root to tip. Place each half cut side down and slice into even half moons about 1/4 inch thick. Keep the slices as even as you can. Even slices brown at the same rate, and that gives a uniform deep color instead of a mix of pale and dark pieces. Set the sliced onions aside in a large bowl. They will fill the bowl at first, and that is fine.
Start the onions low and let them soften
Melt the butter with the olive oil in a large heavy pot over medium heat. Add the onions and the salt, sugar, and pepper, and stir to coat the onions in the fat. The pot will look very full. Cook for 10 to 15 minutes, stirring every few minutes, until the onions soften, release water, and shrink to about half their starting volume. Keep the heat at medium for this stage. The goal is soft and translucent onions with no color yet. If the onions start to brown in this stage, turn the heat down a little.
Caramelize slowly and manage the fond
Turn the heat to medium low. Cook the onions for 35 to 45 minutes, stirring every 3 to 5 minutes, until they turn deep golden brown and jammy. Watch the stages. First the onions turn pale gold. Then they turn amber and start to stick a little. Then they turn deep golden brown, and a brown layer, the fond, forms on the bottom of the pot. That fond is flavor, up to a point. When the fond turns dark brown and the onions smell sweet and toasty, loosen it with 2 to 3 tablespoons of water or broth, stir well, and let the liquid cook off before you continue. Repeat that splash and stir step whenever the fond darkens. If the fond turns black, or the smell turns sharp and burnt, the heat is too high. Turn it down, scrape gently, and taste a small piece. A little dark color is good. Black and bitter is not, and it cannot be fixed by adding more broth later.
This stage is the whole recipe. Rushing it over high heat gives onions that look brown on the outside and taste bitter, because the sugars scorch before they sweeten. A timer helps, but color and smell decide. You want deep golden brown onions that look like jam and smell sweet and savory, not pale soft onions and not dark burnt onions.
Add garlic and flour, then deglaze with wine
Add the minced garlic to the caramelized onions and cook for 1 minute, stirring all the time. Sprinkle the flour over the onions and cook for 2 minutes, stirring all the time, until the flour smell fades and the mixture looks a little pasty. Pour in the wine and stir well, scraping the bottom of the pot to lift any remaining fond. Let the wine bubble for 2 to 3 minutes, until it reduces by about half and the sharp alcohol smell fades. The pot should smell rich and savory at this point, with the onions still clearly in charge.
Add broth, thyme and bay, then simmer
Pour in the beef broth, add the thyme sprigs and the bay leaf, and stir to combine. Bring the soup to a gentle boil over medium high heat, then turn the heat down to low. Cover the pot partway, leaving a small gap for steam, and simmer for 30 minutes. Stir once or twice. Taste at the end and adjust salt and pepper. The broth should taste full, savory, and a little sweet from the onions, with a herbal note in the background. Remove the thyme sprigs and the bay leaf. If the soup tastes flat, a small splash of vinegar or lemon juice, about 1 teaspoon at a time, will lift it. If it tastes too salty, a splash of water and a few more minutes of simmering will soften it.
Toast the baguette slices
While the soup simmers, heat the oven to 400 degrees F (200 degrees C). Place the baguette slices on a baking sheet, brush them lightly with olive oil on both sides, and toast for 8 to 10 minutes, turning once, until both sides are golden and crisp. Toasted bread is not a garnish step. It is the barrier that keeps the cheese cap from turning into mush. Untoasted bread soaks through in minutes under hot soup. Well toasted bread stays crisp at the edges even after a few minutes in the bowl.
Fill the bowls and add the cheese cap
Set the oven to broil on high. For the classic method, place oven-safe bowls on a baking sheet and ladle hot soup into each bowl, leaving about 1/2 inch of space at the top. Place one toasted baguette slice on each bowl, so it sits across the top, and cover the bread fully with Gruyere, right to the rim of the bowl. Add a little Parmesan on top if you use it. Cheese that reaches the rim melts onto the bowl edge and holds the cap in place, which is exactly what you want. For the cheese toast method, skip this step and go to step 8.
Broil until bubbling, or use the cheese toast method
For the classic method, slide the baking sheet with the filled bowls under the broiler and broil for 2 to 4 minutes, watching the whole time, until the cheese melts, bubbles, and browns in spots. Broilers vary a lot, and cheese goes from golden to burnt in under a minute, so stay by the oven. Use oven mitts and a steady hand. The bowls will be very hot. Let the bowls rest for 2 to 3 minutes before serving, so the cheese sets a little and the soup stops bubbling.
For the cheese toast method, place the toasted baguette slices back on the baking sheet, cover each slice fully with Gruyere and a little Parmesan, and broil for 2 to 3 minutes until bubbling and browned in spots. Ladle hot soup into regular soup bowls and place one cheese toast on top of each bowl. Serve at once. The toast stays crisp on top, the cheese melts into the soup at the edges, and no oven-safe bowl is needed. This method also suits a crowd, since you can broil a full tray of toasts at once while guests sit down.
Pro Tips for Classic French Onion Soup
Keep the heat low during caramelization. Medium low heat and regular stirring give deep color without scorching. High heat gives fast color and bitter flavor, and that trade is never worth it.
Use a wide pot. A wide base spreads the onions in a thinner layer, so they brown more evenly. A narrow tall pot steams the onions in their own water for longer, and browning starts late.
Do not stir nonstop, and do not walk away for 15 minutes either. Stir every few minutes. That rhythm lets fond form and lets you catch it before it burns. Fond is flavor until it turns black.
Grate your own Gruyere. Block cheese melts smoother than pre shredded cheese, and the cap looks and tastes better for it. Grating takes a few minutes, and it pays off in the final bowl.
Toast the bread well. Pale toast turns soft fast. Deep golden toast holds its shape under cheese and soup, and it adds a toasty flavor of its own.
Season at the end, not just at the start. Broth and cheese add salt, and brands differ. Taste the finished soup before you add more salt, and taste it again after the cheese goes on.
Watch the broiler without leaving the kitchen. Cheese browns fast, and a minute of distraction is the difference between golden spots and a burnt cap.
Variations
French Onion Soup with Sherry
Swap the white wine for 1/2 cup of dry sherry. Sherry gives a nuttier, slightly deeper note that suits the caramelized onions well. Keep the rest of the recipe the same. This version pairs well with a simple green salad, since the soup itself tastes a little richer.
Three Onion Soup
Use 2 pounds of yellow onions, 1/2 pound of sweet onions, and 1/2 pound of white onions, for the same 3 pound total. The mix gives a slightly more complex sweetness, with the sweet onions softening the sharper edge of the yellow onions. Slice and cook them together in the same way. The total time stays the same.
Extra Cheesy Soup with a Cheese Blend
Use 1 1/2 cups of Gruyere and 1/2 cup of Emmental or Swiss, plus the Parmesan on top. The blend melts smoothly and tastes a little milder than Gruyere alone, which suits readers who find Gruyere strong. Keep the total cheese at 2 cups so the cap stays thick without overwhelming the soup.
French Onion Soup for a Crowd
Double the recipe in a large pot or Dutch oven, and use the cheese toast method for serving. A full tray of cheese toasts broils in one batch, and guests can sit down while you ladle soup and top each bowl. The soup base can be made a day ahead and reheated, which keeps serving day calm.
Lighter French Onion Soup
Use 2 tablespoons of butter and 1 tablespoon of olive oil instead of 3 tablespoons of butter, and use 1 1/2 cups of cheese instead of 2 cups. The soup still tastes rich, because the onions carry most of the flavor, but the total fat drops. Skip the Parmesan in this version to keep the salt in check.
Ingredient Substitutions
No Gruyere in the store? Emmental is the closest swap, with a mild nutty flavor and a smooth melt. Swiss works well too. A mix of Swiss and a little Parmesan gets close to the classic flavor. Mozzarella melts smoothly but tastes much milder, so use it only if the other options are out, and add the Parmesan to bring back some savory flavor.
No beef broth? Chicken broth gives a lighter soup that still tastes good with caramelized onions. Vegetable broth works for a meat free version, though the flavor will be lighter. In both cases, taste carefully at the end, since the salt level and depth will differ from beef broth.
No wine? Use 1/2 cup of extra broth plus 1 tablespoon of white wine vinegar or lemon juice at the deglazing step. The acid gives the lift that wine would have given. Skip the vinegar and the soup can taste flat.
No baguette? Thick slices of country bread or sourdough, toasted well, work in the same way. Cut them to fit the bowls you use. Soft sandwich bread is the one option to avoid, since it soaks through fast even when toasted.
No fresh thyme? Use 1/2 teaspoon of dried thyme, added with the broth. Dried thyme tastes a little stronger by volume, so a small amount goes far.
Gluten free needs? Use a gluten free flour blend in place of the all-purpose flour, and use gluten free bread for the topping, toasted well. Check the broth label for gluten free certification if that matters for your table. The rest of the recipe stays the same.
Dietary Notes
This soup as written contains dairy, wheat, and beef broth. For a gluten free table, use the flour and bread swaps in the substitutions section, and check the broth label. For a dairy free table, this recipe is hard to adapt without losing its character, since the cheese cap defines the dish. A dairy free cheese that melts well can work for the topping, but the flavor and melt will differ, and that should be clear to guests.
For a vegetarian table, use vegetable broth in place of beef broth and check that the cheese uses vegetarian rennet if that matters for your guests. Gruyere is traditionally made with animal rennet, so a vegetarian Gruyere style cheese or a vegetarian Swiss is the safer pick. The soup will taste lighter than the beef broth version, and the onions still carry the main flavor.
This is a rich soup, and the cheese and bread add most of the calories. A smaller bowl with a salad on the side makes a balanced meal, and the lighter variation above trims fat without changing the method.
Make-Ahead, Storage and Freezing
Make ahead: Cook the soup base through step 5, cool it, and refrigerate it for up to 3 days. The flavor often improves overnight, as the onions and broth settle together. Reheat the base gently on the stove until it steams, then toast fresh bread, add cheese, and broil at serving time. Do not assemble the bowls ahead of time. Assembled bowls turn soggy in the fridge, and the cheese cap never recovers.
Storage: Cool leftover soup base promptly and refrigerate it in a covered container for up to 3 days. Store any leftover cheese toasts separately, and re-crisp them in a hot oven for 2 to 3 minutes before serving. Assembled leftover bowls keep for 1 day in the fridge, but the bread will be soft. Reheat soup base on the stove until steaming, and reheat assembled bowls gently in the oven only if you accept a softer topping.
Freezing: Freeze the soup base only, without bread or cheese, for up to 3 months. Cool it fully, pack it in freezer safe containers, and leave room for expansion. Thaw overnight in the fridge, reheat until steaming, and finish with fresh toasted bread and cheese. Do not freeze assembled bowls. Bread turns soggy on thawing, and cheese changes texture.
Reheating: Reheat soup base on the stove over medium heat, stirring now and then, until it steams all the way through. A microwave works for a single portion, with a stir halfway through, but the stove gives more even heat. Always finish with fresh bread and cheese, even for leftovers. That fresh topping is what makes a reheated bowl taste like a new bowl.
Food safety notes: Refrigerate the soup base within 2 hours of cooking. Reheat leftovers until steaming throughout, and do not reheat the same portion more than once. Handle hot bowls and baking sheets with oven mitts, since broiled bowls stay hot for several minutes. Keep the broiler in view while cheese browns, and keep children back from the oven during broiling.
What to Serve With Classic French Onion Soup
French onion soup is rich, so the best partners are simple and fresh. A green salad with a sharp vinaigrette cuts through the cheese and gives the meal balance. The vinaigrette acid does the same job in the salad that wine does in the soup. A plate of sliced apples or a simple fruit salad works in the same way for a lighter table.
For a fuller meal, serve the soup as a starter before a simple roast chicken or a pork dish, or serve it as the main dish with a large salad and extra bread on the side. The soup itself is filling, with onions, broth, bread, and cheese in every bowl, so a heavy side dish is rarely needed.
For more cozy cooking from this site, try the KFC-style crispy fried chicken on a night when you want a heartier main dish, the mummy hot dogs for a fun party table, or the pumpkin cheese ball as a make-ahead appetizer for a fall gathering. Each one uses the same simple approach: a short ingredient list, a clear method, and a result that looks and tastes like more work than it took.
Recipe Notes
Even onion slices brown evenly. Uneven slices give a mix of pale and dark pieces.
Fond is flavor until it turns black. Loosen dark fond with a splash of water or broth, and turn the heat down if it darkens fast.
Toast the baguette well. Pale toast turns soft under soup and cheese.
Cover the bread fully with cheese, right to the rim of the bowl, so the cap holds together.
Make the soup base a day ahead if you like, but always finish the bread and cheese at serving time.
Taste before adding more salt. Broth and cheese already add salt, and brands vary.
Watch the broiler the whole time. Cheese goes from golden to burnt in under a minute.
Slow caramelized yellow onions simmered in rich beef broth with thyme and bay, topped with toasted baguette and bubbling Gruyere. A classic French soup with a crisp cheese cap, ready in 1 hour 50 minutes.
1tablespoon olive oil (plus more for brushing the baguette)
1teaspoon kosher salt
1teaspoon granulated sugar
1/2teaspoon black pepper
3 garlic cloves (minced)
2tablespoons all-purpose flour
1/2cup dry white wine
6cups low sodium beef broth
2sprigs fresh thyme
1 bay leaf
6slices baguette (cut about 3/4 inch thick)
2cups shredded Gruyere cheese (about 8 ounces, grated from a block)
1/4cup grated Parmesan cheese (optional)
Instructions
1
Slice the onions thin and evenPeel the onions, cut each in half from root to tip, and slice into even half moons about 1/4 inch thick.
2
Start the onions low and let them softenMelt butter with olive oil in a large heavy pot over medium heat. Add onions, salt, sugar, and pepper, and cook 10 to 15 minutes, stirring every few minutes, until soft and translucent.
3
Caramelize slowly and manage the fondTurn heat to medium low and cook 35 to 45 minutes, stirring every 3 to 5 minutes, until onions are deep golden brown and jammy. Loosen dark fond with 2 to 3 tablespoons of water or broth whenever it darkens, and turn heat down if it threatens to burn.
4
Add garlic and flour, then deglaze with wineAdd garlic and cook 1 minute. Sprinkle in flour and cook 2 minutes, stirring. Pour in wine, scrape the pot bottom, and cook 2 to 3 minutes until reduced by about half.
5
Add broth, thyme and bay, then simmerPour in beef broth, add thyme and bay, bring to a gentle boil, then simmer on low, partly covered, for 30 minutes. Remove thyme and bay, taste, and adjust salt and pepper.
6
Toast the baguette slicesHeat oven to 400 degrees F (200 degrees C). Brush baguette slices lightly with olive oil and toast 8 to 10 minutes, turning once, until golden and crisp on both sides.
7
Fill the bowls and add the cheese capFor oven-safe bowls, set oven to broil on high, place bowls on a baking sheet, ladle in hot soup, top each bowl with a toasted baguette slice, and cover the bread fully with Gruyere to the rim, plus Parmesan if using.
8
Broil until bubbling, or use the cheese toast methodBroil filled bowls 2 to 4 minutes, watching closely, until cheese bubbles and browns in spots, then rest 2 to 3 minutes. Or broil cheese covered toasts 2 to 3 minutes and place one toast on each bowl of hot soup in regular bowls. Serve at once.
Nutrition Facts
Servings 6
Amount Per Serving
Calories470kcal
% Daily Value *
Total Fat24g37%
Sodium950mg40%
Total Carbohydrate40g14%
Dietary Fiber3g12%
Sugars12g
Protein18g36%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily value may be higher or lower depending on your calorie needs.
Note
Even slices brown evenly; uneven slices give mixed color and flavor. Fond is flavor until it turns black. Loosen it with a splash of water or broth and lower the heat if it darkens fast. Toast bread well, cover it fully with cheese to the rim, and watch the broiler the whole time. Make the soup base up to 3 days ahead, but finish bread and cheese at serving time.
Cooking temperature: broiler on high; baguette toasted at 400 degrees F (200 degrees C).
Food safety: Refrigerate soup base within 2 hours. Reheat until steaming throughout. Handle broiled bowls with oven mitts.
These figures are estimates calculated from the ingredient amounts listed here, including baguette and cheese. Actual values vary by brand, broth salt level, and cheese amount. This nutrition information is an estimate and is not medical advice.
Keywords:
french onion soup recipe, classic french onion soup, easy french onion soup, caramelized onion soup
Pin this recipe to share with your friends and followers.
Laura
Our Family Taste author
Laura is the home cook and founder of Our Family Taste, sharing easy family recipes, comforting favorites, simple desserts, and practical cooking ideas for everyday life.