I finally perfected my Classic French Onion Soup and in this post I reveal the simple technique behind those deeply caramelized onions and the impossibly golden cheese crust.
I’ve always thought there’s something almost magical about French Onion Soup. When thin yellow onions slowly turn sweet and soft, then that puddle of melted Gruyere gets all golden and stretchy, people go quiet, which I love.
I keep chasing versions from Classic French Onion Soup guides and even the French Onion Soup Serious Eats approach, trying to pin down that deep, soulful richness without making it too fussy. It feels elegant enough for a holiday but honest, and yeah sometimes I mess it up, yet those tries make me more curious, and I bet you’ll want to taste it too.
Ingredients
- Onions: Sweet, savory base; mostly carbs and fiber, some vitamin C, caramelize to add depth.
- Butter: Adds richness and mouthfeel, mostly saturated fat, boosts flavor and browning.
- Beef stock: Umami rich, provides protein and sodium, gives the soup hearty meaty body.
- Gruyere: Melty, nutty cheese, high in protein and fat, gives ooey gooey cheesy topping.
- Baguette: Crunchy bread, carbs for texture and soak-up, adds toasty crisp contrast.
- White wine: Bright acidity, helps deglaze and lift flavors, adds subtle fruity notes.
- Thyme and bay: Herb aromatics, minimal calories, earthy savory lift and fragrant warmth.
Ingredient Quantities
- 3 lb yellow onions, thinly sliced (about 6 large ones)
- 3 tbsp unsalted butter
- 1 tbsp olive oil
- 1 tsp granulated sugar
- 1 tsp kosher salt, plus more to taste
- 1/2 tsp freshly ground black pepper
- 2 tbsp all-purpose flour (optional)
- 1/2 cup dry white wine or dry sherry
- 6 cups low-sodium beef stock or beef broth
- 2 bay leaves
- 3 sprigs fresh thyme or 1 tsp dried thyme
- 1 baguette, sliced
- 8 oz Gruyere cheese, grated (about 2 cups)
- 1/4 cup grated Parmesan or Pecorino (optional)
- 2 tbsp brandy or cognac (optional)
How to Make this
1. Thinly slice 3 lb yellow onions and melt 3 tbsp butter with 1 tbsp olive oil in a large heavy pot over medium heat; add the onions, 1 tsp granulated sugar, 1 tsp kosher salt and 1/2 tsp black pepper and cook slow, stirring every few minutes so they brown evenly, patience is key because real caramelizing takes about 35 to 45 minutes and you might need to turn the heat down if they start to burn.
2. If you want a slightly thicker soup, sprinkle 2 tbsp all purpose flour over the onions and cook 1 to 2 minutes while stirring, this cooks out the raw flour taste.
3. Pour in 1/2 cup dry white wine or dry sherry to deglaze the pot and scrape up the brown bits on the bottom, simmer until the wine is mostly evaporated, a couple minutes.
4. Add 6 cups low sodium beef stock, 2 bay leaves and 3 sprigs fresh thyme or 1 tsp dried thyme, bring to a gentle simmer and let it cook uncovered for 20 to 30 minutes so flavors marry; if using 2 tbsp brandy or cognac stir it in now, taste and add more salt or pepper if needed, then remove the bay leaves and thyme stems.
5. While the soup simmers, slice the baguette and toast the slices until golden — brush with a little olive oil or butter first if you like — you can do this in the oven or under the broiler but watch them cause they burn fast.
6. Preheat your broiler on high and grate 8 oz Gruyere plus 1/4 cup Parmesan or Pecorino if using, you want about 2 cups Gruyere shredded for good coverage.
7. Ladle the hot soup into oven safe bowls, float one or two toasted baguette slices on each bowl and pile the grated cheeses on top, press lightly so the cheese touches the bread and seals it a bit.
8. Put the bowls on a baking sheet and broil until the cheese is melted, bubbly and nicely browned on top, watch the whole time since this can go from perfect to burnt in seconds, usually 2 to 6 minutes depending on your broiler.
9. Let the bowls rest a few minutes before serving because they will be extremely hot, garnish with a little extra cracked pepper or a small thyme leaf if you want, enjoy.
10. Leftovers keep well refrigerated for a couple days, reheat gently on the stove and toast fresh baguette, dont try to microwave the bowls as they can crack if theyre cold then get hot fast.
Equipment Needed
1. Large heavy pot or Dutch oven for caramelizing onions and simmering the soup
2. Sharp chef’s knife for thinly slicing the onions
3. Cutting board (keep one handy for the cheese too)
4. Wooden spoon or heatproof spatula to stir slowly and scrape the bottom
5. Measuring cups and spoons for wine, stock and seasonings
6. Box grater for shredding the Gruyere and Parmesan
7. Oven-safe bowls or soup crocks for broiling the cheese top
8. Baking sheet to set the bowls on under the broiler
9. Ladle to portion the hot soup into bowls
10. Tongs or a small spatula to place and adjust the toasted baguette slices on top
FAQ
Authentic French Onion Soup Recipe Substitutions and Variations
- Onions: if you don’t have yellow onions, swap in sweet onions like Vidalia or Walla Walla 1:1 for a sweeter caramelized base. You can also add 2-3 shallots or one small red onion with the yellows for more depth. Tip: slice them evenly so they cook the same, and add 1 tsp sugar if they seem bland.
- Butter + olive oil: use 4 tbsp unsalted butter alone for a richer soup, or replace both with 4 tbsp olive oil for a dairy free version; ghee is a good middle ground. Tip: with all oil keep the heat lower so the onions don’t burn.
- Beef stock: for a vegetarian or poultry swap, use low sodium mushroom or vegetable stock plus 1 tbsp soy sauce or 1 tsp miso for meaty umami. Chicken stock plus 1 tbsp Worcestershire also works. Hack: rehydrate 1/4 cup dried porcini and add the soaking liquid for big flavor.
- Gruyere / Parmesan: if Gruyere is unavailable, use Emmental, Comté, Jarlsberg or fontina for similar melt and nutty taste; mix in a bit of sharp cheddar if you want stronger tang. For non dairy try a high-melt vegan cheese and a sprinkle of nutritional yeast. Tip: grate cheese fresh, it melts way better.
Pro Tips
1) Use a wide, heavy pan and be patient with the onions. Crowding the pan makes them steam not brown, so cook in batches if needed. Keep the heat at medium low, stir every few minutes and turn it down the moment you smell burning, sugar helps speed caramelization but dont overdo it or theyll taste syrupy.
2) Deglaze well and reduce for real flavor. Pour the wine or sherry in while the pan is hot and scrape the brown bits, let it mostly evaporate so you dont end up with a flat boozy taste. If you add brandy do it off the heat so most alcohol doesnt overpower the soup.
3) Toast the bread and prep the cheese right. Day old baguette toasts firmer and wont turn mushy under cheese, rub a clove of garlic on the toasts for extra depth. Grate cheese from a block and keep it cold so it shreds light and melts evenly, press the cheese down onto the bread so it seals and forms a cheesy crust.
4) Season at the end and store smart. Salt after the stock reduces so you dont over-salt, taste and correct with a little acid like a splash of sherry or lemon if it tastes flat. For leftovers never store with the bread, reheat gently on the stove and add fresh toasts, bowls that go from cold to broiler hot can crack so warm them first or use ovenproof bowls.

Authentic French Onion Soup Recipe
I finally perfected my Classic French Onion Soup and in this post I reveal the simple technique behind those deeply caramelized onions and the impossibly golden cheese crust.
6
servings
505
kcal
Equipment: 1. Large heavy pot or Dutch oven for caramelizing onions and simmering the soup
2. Sharp chef’s knife for thinly slicing the onions
3. Cutting board (keep one handy for the cheese too)
4. Wooden spoon or heatproof spatula to stir slowly and scrape the bottom
5. Measuring cups and spoons for wine, stock and seasonings
6. Box grater for shredding the Gruyere and Parmesan
7. Oven-safe bowls or soup crocks for broiling the cheese top
8. Baking sheet to set the bowls on under the broiler
9. Ladle to portion the hot soup into bowls
10. Tongs or a small spatula to place and adjust the toasted baguette slices on top
Ingredients
-
3 lb yellow onions, thinly sliced (about 6 large ones)
-
3 tbsp unsalted butter
-
1 tbsp olive oil
-
1 tsp granulated sugar
-
1 tsp kosher salt, plus more to taste
-
1/2 tsp freshly ground black pepper
-
2 tbsp all-purpose flour (optional)
-
1/2 cup dry white wine or dry sherry
-
6 cups low-sodium beef stock or beef broth
-
2 bay leaves
-
3 sprigs fresh thyme or 1 tsp dried thyme
-
1 baguette, sliced
-
8 oz Gruyere cheese, grated (about 2 cups)
-
1/4 cup grated Parmesan or Pecorino (optional)
-
2 tbsp brandy or cognac (optional)
Directions
- Thinly slice 3 lb yellow onions and melt 3 tbsp butter with 1 tbsp olive oil in a large heavy pot over medium heat; add the onions, 1 tsp granulated sugar, 1 tsp kosher salt and 1/2 tsp black pepper and cook slow, stirring every few minutes so they brown evenly, patience is key because real caramelizing takes about 35 to 45 minutes and you might need to turn the heat down if they start to burn.
- If you want a slightly thicker soup, sprinkle 2 tbsp all purpose flour over the onions and cook 1 to 2 minutes while stirring, this cooks out the raw flour taste.
- Pour in 1/2 cup dry white wine or dry sherry to deglaze the pot and scrape up the brown bits on the bottom, simmer until the wine is mostly evaporated, a couple minutes.
- Add 6 cups low sodium beef stock, 2 bay leaves and 3 sprigs fresh thyme or 1 tsp dried thyme, bring to a gentle simmer and let it cook uncovered for 20 to 30 minutes so flavors marry; if using 2 tbsp brandy or cognac stir it in now, taste and add more salt or pepper if needed, then remove the bay leaves and thyme stems.
- While the soup simmers, slice the baguette and toast the slices until golden — brush with a little olive oil or butter first if you like — you can do this in the oven or under the broiler but watch them cause they burn fast.
- Preheat your broiler on high and grate 8 oz Gruyere plus 1/4 cup Parmesan or Pecorino if using, you want about 2 cups Gruyere shredded for good coverage.
- Ladle the hot soup into oven safe bowls, float one or two toasted baguette slices on each bowl and pile the grated cheeses on top, press lightly so the cheese touches the bread and seals it a bit.
- Put the bowls on a baking sheet and broil until the cheese is melted, bubbly and nicely browned on top, watch the whole time since this can go from perfect to burnt in seconds, usually 2 to 6 minutes depending on your broiler.
- Let the bowls rest a few minutes before serving because they will be extremely hot, garnish with a little extra cracked pepper or a small thyme leaf if you want, enjoy.
- Leftovers keep well refrigerated for a couple days, reheat gently on the stove and toast fresh baguette, dont try to microwave the bowls as they can crack if theyre cold then get hot fast.
Notes
- Below you’ll find my best estimate of this recipe’s nutrition facts. Treat the numbers as a guide rather than a rule—great food should nourish both body and spirit. Figures are approximate, and the website owner assumes no liability for any inaccuracies in this recipe.
Nutrition Facts
- Serving Size: 746g
- Total number of serves: 6
- Calories: 505kcal
- Fat: 22.5g
- Saturated Fat: 12.2g
- Trans Fat: 0.08g
- Polyunsaturated: 0.67g
- Monounsaturated: 7g
- Cholesterol: 60mg
- Sodium: 753mg
- Potassium: 537mg
- Carbohydrates: 98g
- Fiber: 8.4g
- Sugar: 21.8g
- Protein: 20.3g
- Vitamin A: 176IU
- Vitamin C: 12mg
- Calcium: 427mg
- Iron: 1mg