Caramelized Onion Soup is a warm and comforting bowl of goodness that highlights the deep, sweet flavors of slowly cooked onions. The soup is rich and smooth, with the onions melting down into a beautiful golden broth that feels like a hug in a bowl. A touch of melted cheese and a crispy bread topping make it extra special and satisfying.
I love making this soup on chilly evenings when I want something simple but full of flavor. The key is taking your time to caramelize the onions just right—patience really pays off here because that sweetness is what makes this soup so irresistible. I usually double the batch because it tastes even better the next day.
My favorite way to enjoy this soup is with crusty bread toasted on the grill and plenty of melted cheese on top. It’s perfect for a cozy night in, and I always feel like it brings everyone together at the table. If you’ve never made caramelized onion soup before, I promise this recipe will make you a fan for life!
Key Ingredients & Substitutions
Yellow Onions: These have the perfect balance of sweetness and sharpness that transforms beautifully when caramelized. If you can’t find yellow onions, sweet onions or even Vidalia onions are good alternatives.
Butter & Olive Oil: Butter adds richness while olive oil helps prevent burning. If dairy is a problem, use all olive oil or a vegan butter substitute.
Broth: Beef broth gives the soup a deep, savory flavor, but vegetable broth works great if you want a vegetarian version.
Grated Gruyère Cheese: This cheese melts well and adds a nutty, creamy finish. If unavailable, Swiss or Edam cheese make nice substitutes.
Bread: Using a crusty baguette or sourdough is best as it holds up when soaking in the soup. Choose gluten-free bread if needed.
How Can You Perfectly Caramelize Onions Without Burning Them?
Caramelizing onions carefully is key to deep flavor. Here’s how to do it right:
- Use a heavy pot and medium-low heat to cook the onions slowly.
- Stir frequently to stop sticking and burning.
- Add salt and a pinch of sugar early to help draw out moisture and enhance sweetness.
- Be patient—this process takes 45 minutes to an hour for deep golden color and rich flavor.
- If onions start sticking or browning too fast, lower the heat and add a splash of water or broth to loosen them up.
With these steps, you’ll get sweet, soft, deeply flavored onions that build the foundation for a great soup!

Equipment You’ll Need
- Large heavy-bottomed pot or Dutch oven – perfect for even heat and slow caramelizing without burning the onions.
- Wooden spoon or silicone spatula – gentle on your pan and ideal for stirring the onions frequently.
- Chef’s knife – sharp for thinly slicing the onions easily and safely.
- Oven-safe soup bowls or crocks – these let you broil the cheese-topped bowls directly for that perfect golden crust.
- Baking sheet – for toasting the bread slices evenly while your soup simmers.
Flavor Variations & Add-Ins
- Swap beef broth for mushroom broth to keep it vegetarian and add an earthy depth.
- Add a splash of sherry or brandy instead of white wine for a richer flavor twist.
- Top the soup with different cheeses like fontina or Monterey Jack for a milder melt.
- Stir in fresh herbs like rosemary or sage during cooking for herby notes that pair well with caramelized onions.
Caramelized Onion Soup
Ingredients You’ll Need:
For the Soup:
- 6 large yellow onions, thinly sliced
- 4 tablespoons unsalted butter
- 2 tablespoons olive oil
- 1 teaspoon salt
- 1 teaspoon sugar
- 2 cloves garlic, minced
- ½ cup dry white wine (optional)
- 8 cups beef broth (or vegetable broth for vegetarian)
- 2 sprigs fresh thyme (plus extra for garnish)
- 1 bay leaf
- Freshly ground black pepper, to taste
For the Topping:
- 1 baguette or crusty bread, sliced
- 2 cups grated Gruyère cheese (or Swiss/Edam cheese)
How Much Time Will You Need?
This recipe takes about 1 hour and 30 minutes total. Most of the time is spent slowly caramelizing the onions to develop their rich, sweet flavor—around 45 minutes to 1 hour. After that, you’ll simmer the soup for 30 minutes, toast the bread, and broil the cheese topping, which takes about 10-15 minutes more.
Step-by-Step Instructions:
1. Caramelize the Onions:
In a large heavy-bottomed pot or Dutch oven, melt the butter with olive oil over medium heat. Add the sliced onions, salt, and sugar. Stir everything so the onions are evenly coated. Cook slowly, stirring frequently, for 45 minutes to 1 hour until the onions are a deep golden brown and sweetly caramelized. Lower the heat if they start to burn.
2. Add Garlic and Deglaze:
Stir in the minced garlic and cook for 1-2 minutes until fragrant. Pour in the white wine to deglaze the pan, scraping up any browned bits from the bottom. Let the wine reduce for 2-3 minutes.
3. Simmer the Soup:
Add the beef broth, thyme sprigs, and bay leaf. Bring the soup to a boil, then reduce heat to low and let it simmer uncovered for about 30 minutes. Season with freshly ground black pepper and salt to taste. Remove the thyme sprigs and bay leaf before serving.
4. Prepare Bread and Cheese Topping:
While the soup simmers, preheat the oven to 400°F (200°C). Arrange the sliced bread on a baking sheet and toast them for 5-7 minutes until golden and crisp.
5. Assemble and Broil:
Ladle the hot soup into oven-safe bowls. Place one or two toasted bread slices on top of each bowl. Sprinkle a generous amount of grated Gruyère cheese over the bread. Place the bowls under the broiler and broil for 2-4 minutes, until the cheese is melted, bubbly, and golden brown. Watch carefully to avoid burning.
6. Garnish and Serve:
Sprinkle fresh thyme leaves over the cheese and serve the soup immediately while warm and gooey.
Can I Use Frozen Onions for This Soup?
It’s best to use fresh onions for caramelizing since frozen ones release more water and won’t caramelize properly. If you only have frozen onions, thaw them completely and drain excess liquid before cooking, but fresh is ideal.
Can I Make Caramelized Onion Soup Ahead of Time?
Absolutely! You can caramelize the onions and make the soup up to 2 days in advance. Store it covered in the fridge and reheat gently on the stove before adding the bread and cheese topping.
What Cheese Can I Substitute for Gruyère?
Gruyère melts beautifully, but if you don’t have it, Swiss, Emmental, or Monterey Jack are good alternatives. Avoid cheeses that don’t melt well, like hard aged cheeses.
How Should I Store Leftovers?
Keep any leftover soup in an airtight container in the refrigerator for up to 3 days. Reheat on the stove over medium-low heat, and add fresh bread and cheese when serving to keep it tasty.
