I used to think French onion soup was just… fine. Brown liquid, a floaty piece of bread, some cheese on top. Nothing to write home about. Then I made it myself. From scratch. With onions cooked low and slow for almost an hour.
And I understood, finally, why this soup has survived for centuries.
Side Note: Some food historians trace onion soup all the way back to ancient Rome, since onions were cheap, plentiful, and easy to grow year round. The “French” version we know today didn’t really take shape until the 18th century in Paris.
This isn’t a 20 minute weeknight soup. I’m not going to pretend it is.
But it’s one of those recipes where the effort actually shows up in the bowl. Every single time.
What You’ll Need

| Ingredient | Amount |
|---|---|
| Yellow onions | 4 large, thinly sliced |
| Unsalted butter | 4 tablespoons |
| Olive oil | 1 tablespoon |
| Garlic, minced | 2 cloves |
| Beef broth | 6 cups |
| Dry white wine | 1/2 cup |
| Fresh thyme | 4 sprigs (or 1 tsp dried) |
| Bay leaf | 1 |
| Worcestershire sauce | 1 tablespoon |
| Salt | To taste |
| Black pepper | To taste |
| Baguette | 6 slices |
| Gruyère cheese, shredded | 2 cups |
Side Note: Yellow onions are the move here. Red onions turn a strange color when caramelized, and white onions are too sharp for a soup that’s supposed to taste sweet and mellow.
Read this also: Copycat 7 Brew Blondie: The Viral Drink You Can Make in 4 Minutes
Tools You’ll Need
- Large Dutch oven or heavy-bottomed pot
- Sharp knife
- Wooden spoon
- Oven-safe soup crocks or bowls
- Baking sheet
Pro Tips
Before you start slicing onions, a few things I learned the hard way.
- Don’t rush the caramelization. This is the whole soup. If you crank the heat to speed things up, you’ll get burnt, bitter onions instead of sweet, jammy ones. Give it 45 minutes minimum.
- Add a pinch of baking soda if your onions are taking forever to brown. It speeds up the Maillard reaction without messing with the flavor.
- Deglaze often. Every time brown bits stick to the bottom of the pot, splash in a little broth or water and scrape them up. That’s flavor, not mess.
- Toast your bread separately first. Soggy bread floating in soup broth before it hits the broiler is not it. Toast it dry, then let the broth soak in during baking.
- Use real Gruyère if you can. I tested this with regular Swiss once and it melted fine, but it didn’t have that nutty, slightly funky depth Gruyère brings.
How to Make French Onion Soup
Step 1: Slice the onions
Cut your onions in half, then slice them thin, about 1/8 inch thick. Try to keep the slices consistent so they cook evenly.
Step 2: Start the caramelization
Melt the butter with the olive oil in your Dutch oven over medium heat. Add the onions and a pinch of salt. Stir occasionally for the first 10 minutes.
Step 3: Slow it down
Lower the heat to medium-low. Keep cooking, stirring every few minutes, for 35 to 45 minutes.
The onions will go from white, to translucent, to golden, to a deep amber brown. Be patient here.
Step 4: Add garlic and deglaze
Stir in the garlic and cook for 1 minute. Pour in the white wine, scraping up any browned bits from the bottom of the pot.
Let it simmer for 3 to 4 minutes until the wine mostly evaporates.
Step 5: Build the broth
Add the beef broth, thyme, bay leaf, and Worcestershire sauce. Bring to a simmer.
Cover partially and let it cook for 20 to 30 minutes so the flavors come together.
Season with salt and pepper. Remove the bay leaf and thyme sprigs.
Step 6: Toast the bread
While the soup simmers, arrange baguette slices on a baking sheet. Toast at 400°F for about 8 minutes, flipping halfway, until golden and crisp.
Step 7: Assemble and broil
Ladle the soup into oven-safe crocks. Top each with a slice or two of toasted bread, then a generous handful of Gruyère.
Broil for 2 to 4 minutes, watching closely, until the cheese is bubbly and starting to brown in spots.
Let it cool for a few minutes before eating. That cheese holds heat like nothing else.
Read this also: I Stopped Going to Starbucks After Making This Pumpkin Spice Latte at Home
Substitutions and Variations

| Original | Substitute | Notes |
|---|---|---|
| Beef broth | Vegetable broth | Makes it vegetarian, slightly lighter flavor |
| White wine | Extra broth + 1 tsp lemon juice | For a non-alcoholic version |
| Gruyère | Comté or Emmental | Similar melt and nutty flavor |
| Baguette | Sourdough or crusty Italian bread | Just make sure it can hold up to broth |
| Yellow onions | Sweet onions (Vidalia) | Even sweeter final flavor |
Side Note: I tried a version with caramelized shallots mixed in once, added right at the end for a sharper bite. It was surprisingly good if you want to switch things up.
Make Ahead Tips
The onion base actually gets better with a day of rest in the fridge.
- Caramelize the onions and build the broth up to 3 days ahead.
- Store in an airtight container in the fridge.
- Reheat gently on the stovetop, then assemble with fresh toasted bread and cheese right before broiling.
You can also freeze the soup base (without the bread and cheese) for up to 3 months.
Leftovers and Storage
- Fridge: Store the soup base in an airtight container for up to 4 days. Keep bread and cheese separate if you haven’t assembled yet.
- Freezer: Freeze the base for up to 3 months. Thaw overnight in the fridge before reheating.
- Reheating: Warm on the stovetop over medium-low heat. If already assembled with cheese, reheat in the oven at 350°F until warmed through, then broil for a minute to re-crisp the top.
Nutritional Snapshot (Per Serving)
| Nutrient | Amount |
|---|---|
| Calories | ~380 |
| Protein | 16g |
| Carbohydrates | 32g |
| Fat | 20g |
| Fiber | 3g |
| Sodium | ~950mg |
Based on 6 servings. Will vary depending on broth and cheese used.
What to Pair With French Onion Soup
This soup is rich, so I like to keep the sides simple.
- A crisp green salad with a light vinaigrette
- Roasted garlic green beans
- A glass of the same dry white wine you cooked with
- Simple roasted chicken if you want to turn it into a full dinner
FAQs Related to
1. Can I make this without wine?
Yes. Swap it for extra broth with a splash of lemon juice or apple cider vinegar to bring in that acidity.
2. Why did my onions turn out mushy instead of caramelized?
Usually too much liquid released too fast, or the heat was too high early on. Give them more room in the pot and stir less aggressively at the start.
3. What’s the best cheese if I can’t find Gruyère?
Comté is the closest substitute. Regular Swiss works in a pinch, though it’s milder.
4. Can I make this in a slow cooker?
You can caramelize the onions on the stovetop first (there’s no real shortcut here), then transfer everything to a slow cooker with the broth and cook on low for 4 to 6 hours. Assemble and broil in oven-safe bowls at the end.
5. Is French onion soup actually French?
The modern version is, largely developed in Paris. But onion-based soups have popped up across cultures for thousands of years, long before France existed as a country.
Conclusion
French onion soup takes patience. There’s no shortcut around the caramelizing. But once you’ve made it from scratch, with onions that took real time and real attention, it’s hard to go back to the version from a can.
Give it a try this week and let me know how it goes in the comments. I’d love to hear if you tried any of the substitutions, or if you have your own tricks for getting those onions perfectly golden.