French Onion Soup is a classic comfort food that’s all about sweet caramelized onions, a rich beefy broth, and that perfect blanket of golden, melted cheese on top. The soup feels cozy and hearty, with the soft onions melting into the broth and a toasted bread slice soaking up all the flavors underneath the cheese.
I love making this soup when I want something warm and satisfying, especially on chilly days. Watching the onions slowly caramelize takes a little patience, but it’s totally worth it because that deep, sweet flavor is what makes this soup special. I always make sure to have plenty of good crusty bread and sharp cheese ready for topping—it’s the best part for me!
Serving it straight from the oven with bubbly cheese and a golden crust is a treat I look forward to. I usually eat it with a fork and spoon to scoop up the gooey cheese and crunchy bread bits all at once. It’s a recipe that feels fancy but is really simple to make, and everyone I share it with always asks for seconds.
Key Ingredients & Substitutions
Yellow Onions: These are the star of the soup. Their natural sweetness shines through when caramelized slowly. If you can’t get yellow onions, sweet onions like Vidalia work well too.
Butter and Olive Oil: Butter adds richness, and olive oil helps prevent burning the onions. Using both together balances flavor and cooking quality.
Beef Broth: Homemade or low-sodium beef broth gives depth to the soup. For a lighter or vegetarian version, try mushroom or vegetable broth, though it will change the flavor a bit.
White Wine: Adds acidity and complexity but is optional. You can skip it or replace it with a splash of apple cider vinegar or extra broth.
Baguette & Gruyère Cheese: The toasted bread soaks up the soup and holds the melted cheese on top. Gruyère melts beautifully and has a nutty flavor. Swiss or even mozzarella can be used if you don’t have Gruyère.
How Do You Perfectly Caramelize Onions for French Onion Soup?
Caramelizing onions slowly brings out their sweetness and flavor, which is crucial for this soup. Here’s how I do it:
- Use a heavy-bottomed pot to cook the onions evenly without burning.
- Cook over medium-low heat, stirring every few minutes. This process takes about 40-50 minutes.
- Add a pinch of sugar to help the onions caramelize faster and enhance sweetness.
- If onions start sticking or browning too fast, lower the heat and add a little water to deglaze.
- Be patient—the deep flavor depends on this slow cooking step.
Once caramelized, you get rich, golden onions that make the base of your soup taste amazing.

Equipment You’ll Need
- Large heavy-bottomed pot or Dutch oven – I prefer this because it heats evenly and can handle the long cooking time for caramelizing onions.
- Wooden spoon – helps stir the onions without scratching the pot and makes it easier to scrape up browned bits.
- Baking sheet – for toasting the bread slices evenly, resulting in a crispy topping.
- Oven-safe bowls or crocks – perfect for baking the soup with bread and cheese until bubbly and golden.
- Broiler or oven – used to melt and brown the cheese on top of the soup for that perfect finish.
Flavor Variations & Add-Ins
- Use vegetarian broth instead of beef broth for a meatless version, and add sautéed mushrooms for an earthy flavor.
- Swap Gruyère cheese for Swiss, mozzarella, or provolone to change up the cheesy topping.
- Add a splash of balsamic vinegar during caramelizing onions for extra sweetness and depth.
- Mix in cooked, diced root vegetables like carrots or parsnips to add more texture and flavor to the soup.
French Onion Soup
Ingredients You’ll Need:
For the Soup:
- 6 large yellow onions, thinly sliced
- 3 tablespoons unsalted butter
- 1 tablespoon olive oil
- 1 teaspoon sugar
- 4 cloves garlic, minced
- 8 cups beef broth (preferably homemade or low-sodium)
- 1/2 cup dry white wine (optional)
- 2 teaspoons fresh thyme leaves (or 1 teaspoon dried thyme)
- 2 bay leaves
- Salt and freshly ground black pepper, to taste
For the Topping:
- 1 baguette or crusty French bread, sliced into 1/2-inch thick rounds
- 2 cups grated Gruyère cheese (or Swiss cheese as a substitute)
- Fresh thyme sprigs for garnish (optional)
How Much Time Will You Need?
This dish takes about 1 hour and 15 minutes in total. The longest part is slowly caramelizing the onions, which takes around 40-50 minutes. Prep and cooking, including toasting the bread and melting the cheese, will take another 25-30 minutes.
Step-by-Step Instructions:
1. Caramelize the Onions:
In a large, heavy-bottomed pot or Dutch oven, melt the butter with the olive oil over medium heat. Add the sliced onions and sugar, stirring frequently. Cook the onions slowly until they turn a deep golden brown and caramelize, about 40-50 minutes. Adjust the heat as needed so the onions don’t burn. Patience here really pays off!
2. Add Garlic and Deglaze:
Once the onions are caramelized, stir in the minced garlic and cook for another minute until fragrant. Pour in the white wine (if using), and scrape up any browned bits from the pot. Let it simmer for about 5 minutes until the wine mostly evaporates.
3. Simmer the Soup:
Add the beef broth, fresh or dried thyme, and bay leaves. Bring to a boil, then reduce heat and simmer gently for 30 minutes. Season with salt and freshly ground black pepper to taste.
4. Prepare the Bread and Cheese:
While the soup simmers, preheat your oven to 400°F (200°C). Lay out the bread slices on a baking sheet and toast in the oven for 5-7 minutes, flipping halfway through until golden and crisp.
5. Assemble and Bake the Soup:
Remove the bay leaves from the soup. Ladle the hot soup into oven-safe bowls or crocks. Place one or two pieces of toasted bread on top of each bowl, then cover generously with the grated Gruyère cheese.
Set the bowls on a baking sheet and bake in the oven for 10-15 minutes until the cheese melts, bubbles, and turns golden brown. Alternatively, broil for 2-4 minutes, keeping a close eye to avoid burning.
6. Serve:
Take the bowls carefully out of the oven. Garnish with fresh thyme sprigs if you like. Serve immediately while the cheese is gooey and the soup is hot.
Enjoy your warm, rich French Onion Soup with its sweet caramelized onions, savory broth, crusty bread, and melty cheese!
Can I Use Frozen Onions for This Recipe?
It’s best to use fresh onions for the best texture and flavor, especially since caramelizing is key. If you have frozen onions, thaw them completely and pat dry to avoid excess moisture, but the soup might not develop the same deep sweetness.
Can I Make French Onion Soup Ahead of Time?
Yes! You can prepare the soup base up to two days in advance and refrigerate it. Reheat gently before adding toasted bread and cheese and baking. The cheesy topping is best done right before serving.
How Should I Store Leftovers?
Store leftover soup and toasted bread separately in airtight containers in the fridge for up to 3 days. Reheat soup on the stovetop or microwave before assembling with fresh toasted bread and cheese.
What Can I Use If I Don’t Have Gruyère Cheese?
Swiss cheese is a great substitute for Gruyère with a similar melt and flavor. Mozzarella or provolone work too but will create a milder taste.
