French Onion Soup is a classic dish that brings together soft, caramelized onions in a rich, flavorful broth topped with a crusty slice of bread and melted cheese. It’s warm, comforting, and perfect for chilly days when you want something simple but satisfying. The combination of sweet onions and gooey cheese creates a cozy bowl that feels like a warm hug.
I love making French Onion Soup when I want to slow down and enjoy something special with minimal fuss. Caramelizing onions takes a bit of time, but it’s so worth it because their sweetness is the star of the show. One tip I always keep in mind is to stir the onions slowly and patiently to get that deep golden color—rushing it won’t give you the same rich flavor.
Serving this soup in little bowls straight from the oven, with the cheese bubbling on top, is one of my favorite ways to enjoy it. It’s a great dish to share with friends or family, and everyone always asks for seconds. Plus, it’s easy to make ahead and reheat, so I often prepare it when I know I’ll want a cozy meal later in the week.
Key Ingredients & Substitutions
Yellow Onions: These add sweetness and depth when caramelized. If you can’t find yellow onions, sweet onions or even white onions will work, but the flavor may be a bit sharper.
Beef Broth: It’s the base of the soup and gives it a rich, meaty taste. For a vegetarian option, use mushroom broth or vegetable broth with a splash of soy sauce for umami.
Wine: Adds acidity and complexity. If you don’t drink wine, you can skip it or use a splash of sherry vinegar or apple cider vinegar instead.
Baguette & Cheese: The toasted baguette and melted Gruyère give texture and creaminess. Swiss cheese or mozzarella can substitute if Gruyère is hard to find. Use day-old bread for the best toasting results.
How Do You Get Perfectly Caramelized Onions Without Burning?
Caramelizing onions slowly is key to unlocking their sweetness without burning them:
- Use medium-low heat so they cook gently and evenly.
- Stir every few minutes to prevent sticking or dark spots.
- Add a sprinkle of sugar after about 15 minutes to encourage caramelization.
- Be patient—this step can take 30-40 minutes but is worth the wait.
- If onions start to stick, add a splash of water or broth to loosen them up.
Taking your time here results in golden, tender onions that add rich flavor to the entire soup.

Equipment You’ll Need
- Large heavy-bottomed pot or Dutch oven – I prefer this because it heats evenly and can handle long cooking times without burning.
- Slotted spoon – helps stir the onions gently and scrape up any flavorful bits from the bottom.
- Baking sheet – for toasting bread slices under the broiler; it keeps everything in one place and makes cleanup easier.
- Oven-safe bowls or crocks – to serve and melt the cheese right in the oven without transferring dishes.
- Broiler – essential for bubbling and browning the cheese topping quickly and evenly.
Flavor Variations & Add-Ins
- Use caramelized shallots instead of onions for a milder, sweeter flavor profile.
- Stir in a splash of balsamic vinegar or red wine vinegar along with the onions for extra depth.
- Add cooked mushrooms or sautéed kale on top before adding the cheese for more texture and nutrition.
- Replace Gruyère with Swiss, fontina, or Parmesan for different cheese tastes—each adds a unique flavor.
French 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 sugar
- 4 cloves garlic, minced
- 8 cups beef broth (preferably low sodium)
- ½ 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, sliced into ½-inch thick rounds
- 2 cups grated Gruyère cheese (or Swiss cheese)
- Fresh parsley or thyme for garnish (optional)
How Much Time Will You Need?
This recipe takes about 15 minutes of prep, 40 minutes to caramelize the onions, plus 30 minutes simmering time. Toasting the bread and broiling the cheese will take about 5 minutes. Plan for about 1.5 hours total.
Step-by-Step Instructions:
1. Caramelize the Onions:
Heat the butter and olive oil in a large heavy-bottomed pot or Dutch oven over medium heat. Add the sliced onions and cook slowly, stirring often, until they soften and start turning a deep golden brown, about 30-40 minutes. Add the sugar after 15 minutes to help with caramelization. Be patient and avoid rushing to prevent burning.
2. Add Garlic and Deglaze:
Stir in the minced garlic and cook for another minute until fragrant. Pour in the white wine (if using), scraping the bottom of the pot to lift any browned bits. Let the wine reduce by half, about 3-5 minutes.
3. Simmer the Soup:
Add the beef broth, thyme, and bay leaves. Season with salt and pepper. Bring to a boil, then reduce heat and let it simmer uncovered for 20-30 minutes so all the flavors blend.
4. Toast the Baguette:
While the soup simmers, preheat your oven’s broiler. Arrange the baguette slices on a baking sheet and toast for 1-2 minutes each side until golden and crisp.
5. Finish and Serve:
Remove bay leaves from the soup and adjust seasoning if needed. Ladle hot soup into oven-safe bowls or crocks. Place one or two toasted baguette slices on top of each and generously sprinkle with grated Gruyère cheese. Set the bowls on a baking sheet and broil in the oven until the cheese melts, bubbles, and turns golden—about 2-4 minutes. Keep a close eye so it doesn’t burn.
Garnish with fresh parsley or thyme if you like and serve right away with a spoon.
Can I Use Frozen Onions for This Soup?
Fresh onions are best for caramelization, but if you only have frozen, make sure to thaw and drain them well before cooking. The texture might be softer, so cook gently to avoid mushiness.
Can I Make French Onion Soup Ahead of Time?
Yes! You can prepare the soup and store it in the refrigerator for up to 3 days. When ready to serve, reheat gently on the stove, then add toasted bread and cheese and broil before serving.
What’s a Good Substitute for Gruyère Cheese?
Swiss cheese is a great substitute for Gruyère and melts similarly. Fontina or mozzarella also work well but offer slightly different flavor profiles.
How Should I Store Leftover Soup?
Keep leftovers in an airtight container in the refrigerator for up to 3 days. Reheat on the stovetop over medium heat, stirring occasionally. It’s best to add the bread and cheese topping just before serving to keep it crisp.
