Deeply caramelized onions are the whole story here. When they’re cooked low and slow until jammy and amber-brown, they turn a simple broth into something rich, savory, and almost sweet at the edges. The bread on top softens just enough under all that bubbling cheese to give you the best kind of spoonful: broth, onions, toast, and a salty blanket of Gruyère in one bite.
The part that separates good French onion soup from watery onion broth is patience. The onions need enough time to lose their sharp bite and collapse into a dark, silky base before the wine and broth go in. Scraping the pot after the deglaze matters too, because those browned bits carry a lot of the flavor that makes this soup taste finished instead of flat.
Below, I’ve included the small details that keep the onions from scorching, the cheese from sliding off, and the soup from tasting thin. If you’ve ever had French onion soup that looked right but didn’t taste deep enough, this version fixes that.
The onions turned out perfectly jammy and the broth had so much depth after the wine and Worcestershire. I broiled the cheese for 3 minutes and it came out bubbly and browned just like the photo.
Save this French Onion Soup for the night you want deeply caramelized onions, sherry-kissed broth, and a golden Gruyère crust.
The Difference Between Sweet Onions and Browned Onions in the Pot
French onion soup lives or dies by the color of the onions before you add the broth. Pale onions taste sharp and thin. Fully browned onions taste round, sweet, and savory, with a little stickiness that gives the soup body. If you rush this part, the finished bowl will look right but taste hollow.
Use a heavy pot and keep the heat at medium, not high. You want the onions to soften, then slowly take on color as the water cooks off. Stir every 10 to 15 minutes, but not constantly, or they won’t have a chance to sit against the hot surface and caramelize. If the bottom starts to look too dark too fast, lower the heat and add a splash of water to loosen the fond before it turns bitter.
What Each Ingredient Is Actually Doing in This Dish

- Yellow onions — These are the backbone of the soup. They break down into a silky, sweet base that white onions won’t match and red onions can make too sharp. Slice them evenly so they cook at the same pace.
- Butter and olive oil — Butter gives the onions richness, and the oil keeps the butter from scorching during the long cook. You can use all butter, but the mix is more forgiving over 60-plus minutes on the stove.
- Dry white wine or sherry — This lifts the browned bits from the pot and adds acidity so the soup doesn’t taste heavy. Sherry brings a deeper, nuttier note; white wine keeps it brighter. Use something dry, not sweet.
- Beef broth — This is where the soup gets its classic depth. A good broth matters here because there isn’t much else to hide behind. If you need to use store-bought, choose one with a strong savory flavor, not a salty one.
- Gruyère and parmesan — Gruyère melts into that elastic, browned cap everyone wants. Parmesan adds sharper salt and helps the topping brown faster. If you swap Gruyère, choose a cheese that melts cleanly, like Swiss or Emmental.
- Baguette — The toast acts like a raft under the cheese. It needs to be toasted first so it holds up under the broth instead of dissolving into the soup.
How to Build the Broth Without Losing the Caramelized Base
Slowly Softening the Onions
Melt the butter with the olive oil, then add the sliced onions with the salt. The salt pulls moisture out and helps the onions collapse faster, but the real work is time. They’ll look like a mountain at first, then shrink down and turn glossy before they begin to color. If they’re browning unevenly, lower the heat; if they’re sticking hard, the pan is too hot.
De glazing and Pulling Up the Fond
Once the onions are deeply golden, pour in the wine or sherry and scrape the bottom of the pot with a wooden spoon. Those browned bits dissolve into the liquid and give the soup its depth. Let the wine cook for a few minutes so the raw edge burns off. If you add the broth too soon, the soup can taste flat and the wine won’t have time to mellow.
Simmering and Seasoning
Add the broth, thyme, bay leaf, and Worcestershire sauce, then simmer long enough for the flavors to come together. The soup should taste onion-forward, savory, and slightly sweet, not aggressively salty. Remove the herbs before serving. Taste at the end and season carefully, since the cheese and bread will add salt later.
Broiling the Cheese Top
Ladle the soup into oven-safe crocks, float the toasted bread on top, and pile on the cheese so it reaches the edges. Broil just until the cheese is melted, bubbling, and spotted with deep brown patches. Watch it closely, because the line between beautifully bronzed and scorched is short. If the bread is too thick or the cheese layer too sparse, you won’t get that proper crust.
How to Adapt This for Different Eaters and Different Kitchens
Dairy-Free Version That Still Tastes Rich
Use olive oil instead of butter and finish with a good dairy-free melting cheese or skip the topping and serve the soup with olive oil-brushed toast on the side. You lose some of the classic richness, but the onions and broth still carry the dish. The key is to keep the broth robust so the soup doesn’t feel like it’s missing something.
Gluten-Free French Onion Soup
The soup itself is naturally gluten-free if your Worcestershire sauce is certified gluten-free. Swap the baguette for gluten-free toasted bread or skip the bread and cheese topping and serve the soup with gluten-free crackers on the side. The flavor stays intact; the texture of the top changes.
Make It Vegetarian Without Losing Depth
Swap the beef broth for a deeply flavored vegetable broth and add a little extra Worcestershire-style seasoning if your version is vegetarian. You won’t get the same meaty backbone, but long caramelized onions go a long way toward making up for it. Use a broth you actually like drinking, because weak vegetable stock makes the whole soup taste thin.
Storage and Reheating
- Refrigerator: Store the soup base without the bread and cheese for up to 4 days. The flavor deepens overnight, but the onions will soften a bit more.
- Freezer: The soup base freezes well for up to 3 months. Freeze it without the topping, then thaw in the fridge before reheating.
- Reheating: Warm the soup gently on the stove until steaming, then top with fresh toasted bread and cheese before broiling. Don’t reheat already-broiled crocks under the broiler; the bread turns soggy and the cheese overcooks before the center heats through.
Answers to the Questions Worth Asking

French Onion Soup
Ingredients
Equipment
Method
- Melt the butter with the olive oil in a large heavy pot over medium heat, then add the sliced onions and 1/2 teaspoon salt. Stir to coat so the onions start softening right away (visual cue: glossy onions beginning to sweat).
- Cook the onions for 60-70 minutes, stirring every 10-15 minutes, until deeply golden, jammy, and caramelized. Keep the heat at medium so the onions caramelize slowly rather than burn (visual cue: thick, dark-gold onion strands and a jam-like texture).
- Deglaze with the wine or sherry, then cook for 3 minutes while scraping up all browned bits from the bottom. Continue until the liquid looks slightly reduced (visual cue: dark fond dissolving into the liquid).
- Add the beef broth, fresh thyme, bay leaf, and Worcestershire sauce, then bring to a simmer. Reduce to a steady simmer and cook 20 minutes (visual cue: gentle bubbles around the edges, not a hard boil).
- Remove the thyme and bay leaf, then season with salt and pepper to taste. Taste and adjust before ladling (visual cue: well-balanced broth that tastes rich and savory).
- Ladle the soup into oven-safe crocks, then float the toasted baguette slices on top. Arrange so the bread is mostly covered by broth (visual cue: bread sits like a raft on the surface).
- Pile the Gruyere and parmesan over the bread, then broil for 3-4 minutes until melted and bubbly. Watch closely so the cheese turns golden-brown with blistered spots (visual cue: bubbling, browned cheese crust).