A classic French onion soup is one of those deeply comforting dishes that I always turn to when I want something hearty, rich, and full of flavor. With slowly caramelized onions, a savory broth, toasted baguette, and a thick layer of melted Gruyère cheese, it brings an irresistible gratinée experience that makes every spoonful special.
Why You’ll Love This Recipe
I love how this soup balances simplicity and elegance. The rich flavor comes almost entirely from the long caramelization of onions—no shortcuts here—and the layering of textures between the broth, toasted bread, and bubbling cheese on top is just perfect. Whether I’m making it for a cozy night in or serving it as a starter for guests, it always impresses.
ingredients
(Here’s a tip: Check out the full list of ingredients and measurements in the recipe card below.)
-
2 tablespoons olive oil
-
1 tablespoon butter
-
3 pounds onions, thinly sliced (about 5–6 large yellow onions)
-
½ teaspoon sugar (optional, to aid caramelization)
-
¼ teaspoon salt (plus more to taste)
-
Black pepper, to taste
-
¼ cup unsweetened apple juice or a splash of white wine vinegar diluted in water (for deglazing)
-
6 cups beef broth (can mix with chicken broth if desired)
-
2 cups chicken broth (optional—some recipes use a blend)
-
2 teaspoons fresh thyme (or ½ teaspoon dried thyme)
-
1 bay leaf (optional)
-
Baguette slices or crusty French bread, toasted
-
Gruyère cheese (or Swiss/Comté/Emmental), grated or sliced for melting
directions
-
I heat olive oil and butter in a large Dutch oven or heavy-bottomed pot over medium heat.
-
I add the onions, sugar (if using), ¼ teaspoon salt, and some black pepper. Then I cook them slowly, stirring occasionally, until they become deeply golden and caramelized. This step can take anywhere from 30 minutes to over an hour—worth every second.
-
Once caramelized, I pour in apple juice or a bit of diluted vinegar to deglaze the pot, scraping up all the flavorful brown bits. I simmer until the liquid cooks off.
-
I add in the beef broth (and chicken broth, if using), thyme, and bay leaf. I bring the soup to a simmer, then reduce the heat and let it gently simmer for about 20 minutes.
-
While the soup simmers, I preheat the broiler. I portion the soup into oven-safe bowls, top each with toasted baguette slices, and layer on plenty of Gruyère cheese.
-
I place the bowls under the broiler until the cheese is melted, bubbly, and slightly golden—usually around 3 to 5 minutes. A little extra thyme on top finishes it off beautifully.
Servings and timing
This recipe makes about 6 to 8 servings, with each serving being roughly 1 cup.
-
Prep time: 10 minutes
-
Cook time: About 1 hour 25 minutes (30–60 minutes for caramelizing onions, 20 minutes to simmer, 5 minutes to broil)
-
Total time: Around 1 hour 30 minutes
Variations
-
I sometimes use all beef broth, but combining it with chicken broth softens the flavor and gives a gentler finish.
-
For a no-alcohol version, I use apple juice, diluted vinegar, or even broth alone to deglaze.
-
For a vegetarian version, I swap out the beef and chicken broth for a robust vegetable broth and use vegetarian-friendly cheese.
-
When I want a bolder, deeper taste, I add a dash of Worcestershire sauce or a spoonful of beef bouillon.
-
Different cheeses like Comté, Emmental, or even a sharp white cheddar bring their own flair to the final melt.
storage/reheating
This soup keeps really well. I store the soup (without the bread and cheese topping) in an airtight container in the refrigerator for up to 4 days. If I want to freeze it, I let it cool completely first, then freeze it for up to 2 months.
To reheat, I warm the soup on the stovetop until simmering. When I’m ready to serve, I ladle it into bowls, top with fresh toasted bread and cheese, then broil until bubbly and golden again. This way, everything tastes freshly made.
FAQs
How do I get perfectly caramelized onions without burning them?
I keep the heat on medium-low and stir regularly. Patience is key—caramelizing onions takes time, usually at least 45 minutes. If they seem dry, I add a splash of water to deglaze during cooking.
Can I make this soup ahead of time?
Absolutely. I often make the soup base a day ahead and just assemble with bread and cheese when I’m ready to serve. It actually tastes even better the next day.
What’s the best type of onion for French onion soup?
I always go for yellow onions—they have the right balance of sweetness and bite. I’ve also tried mixing in a few red onions or shallots for added complexity.
What can I use instead of wine or sherry?
I use unsweetened apple juice, broth, or a splash of diluted white wine vinegar. These give a little brightness without adding alcohol.
What bread works best for the topping?
I use a sturdy baguette or rustic French bread. It needs to be firm enough to hold up under the soup and cheese without turning soggy. Toasting it first makes a big difference.
Conclusion
There’s nothing quite like a bowl of homemade French onion soup. The slow caramelization brings out a depth of flavor that’s worth every minute, and the final gratinée topping is pure comfort. I always find myself going back for another bowl—especially when it’s chilly outside or I want to impress with something classic and soul-warming.
Print
Classic French Onion Soup
- Prep Time: 10 minutes
- Cook Time: 1 hour 25 minutes
- Total Time: 1 hour 30 minutes
- Yield: 6 to 8 servings
- Category: Soup
- Method: Stovetop and Broiling
- Cuisine: French
- Diet: Vegetarian
Description
A comforting, richly flavored French onion soup made without alcohol. Features deeply caramelized onions, savory broth, and bubbling melted Gruyère cheese over crusty bread.
Ingredients
- 2 tablespoons olive oil
- 1 tablespoon butter
- 3 pounds onions, thinly sliced (about 5–6 large yellow onions)
- ½ teaspoon sugar (optional)
- ¼ teaspoon salt (plus more to taste)
- Black pepper, to taste
- ¼ cup unsweetened apple juice or diluted white wine vinegar (for deglazing)
- 6 cups beef broth
- 2 cups chicken broth (optional)
- 2 teaspoons fresh thyme or ½ teaspoon dried thyme
- 1 bay leaf (optional)
- Baguette slices or crusty French bread, toasted
- Gruyère cheese (or Swiss/Comté/Emmental), grated or sliced
Instructions
- Heat olive oil and butter in a large Dutch oven or heavy-bottomed pot over medium heat.
- Add the onions, sugar (if using), ¼ teaspoon salt, and black pepper. Cook slowly, stirring occasionally, until deeply golden and caramelized, about 30–60 minutes.
- Deglaze with apple juice or diluted vinegar, scraping up browned bits, and simmer until liquid evaporates.
- Add beef broth, chicken broth (if using), thyme, and bay leaf. Bring to a simmer, then reduce heat and simmer gently for 20 minutes.
- Preheat broiler. Portion soup into oven-safe bowls, top with toasted baguette slices, and cover with cheese.
- Broil until cheese is melted, bubbly, and golden, 3 to 5 minutes. Serve hot with extra thyme if desired.
Notes
- Yellow onions are ideal, but a mix of shallots or red onions adds complexity.
- Toast the bread to prevent sogginess.
- Soup can be made ahead and tastes even better the next day.
- Use vegetarian broth and cheese for a vegetarian version.
Nutrition
- Serving Size: 1 cup
- Calories: 300
- Sugar: 6g
- Sodium: 850mg
- Fat: 18g
- Saturated Fat: 10g
- Unsaturated Fat: 7g
- Trans Fat: 0g
- Carbohydrates: 22g
- Fiber: 3g
- Protein: 12g
- Cholesterol: 45mg