French Onion Soup — Deeply Caramelized Onions Under Broiled Gruyère Toast

Step-by-step shot of caramelized onions cooking in a wide Dutch oven alongside ingredients: baguette slices, Gruyère cheese, beef broth, and fresh thyme on a kitchen counter

The Soup That Tastes Like It Took All Day — But Doesn’t Have to

There are certain recipes that carry a reputation so grand they intimidate home cooks right out of the gate. French onion soup is absolutely one of them. The mention of it conjures images of white-tablecloth bistros in Paris, bubbling crocks delivered tableside, and the kind of deeply savory, soul-warming richness that makes you close your eyes after the first spoonful. But here’s the truth nobody tells you: this is one of the most family-friendly, budget-conscious soups you can possibly make. The star of the show is onions — one of the cheapest vegetables on the planet — and a handful of pantry staples that most of us already have on hand.

On a busy weeknight, the thought of babysitting a pot of onions for an hour can feel like a dealbreaker. We get it. But we’ve streamlined this recipe so it actually fits into real life — a Sunday afternoon of low-effort stirring that fills your whole kitchen with an aroma so good your family will wander in from every corner of the house asking what’s cooking. And the payoff? A rich, glossy, amber-colored broth loaded with sweet, jammy onions, crowned with a thick slice of toasted baguette and a blanket of bubbling, golden Gruyère. Every single bite is worth it. This is the kind of meal that makes a Tuesday night feel like a special occasion without touching your weekly budget in any meaningful way.

We’ve also built in make-ahead steps so this fits seamlessly into your meal prep routine. The caramelized onion base can be made days in advance and stored in the fridge, which means on the night you want to serve it, you’re really just warming broth, toasting bread, and hitting the broiler. That’s it. If you love cozy, budget-friendly soups like our Broccoli Cheddar Soup — Velvety, Rich & Better Than the Bakery Café Version or our Loaded Baked Potato Soup — Creamy, Cheesy & Ready in 45 Minutes, this French onion soup is about to become your new obsession.

Classic French onion soup in a rustic ceramic crock with bubbling golden Gruyère and toasted baguette on top, served on a wooden table with a linen napkin

Why You’ll Love This Recipe

  • Incredibly budget-friendly: Onions are one of the most affordable vegetables out there, and a good carton of beef broth keeps this recipe wallet-friendly without sacrificing any depth of flavor.
  • Make-ahead magic: Caramelize the onions on the weekend and the rest of the soup comes together in under 20 minutes on any given weeknight.
  • Restaurant-quality results at home: That broiled Gruyère toast sitting on top of the soup? It’s the moment. And you can absolutely pull it off in your own kitchen.
  • Pantry-staple recipe: Outside of the Gruyère and baguette, almost everything in this recipe lives in a well-stocked pantry or fridge already.
  • Crowd-pleasing and impressive: Whether you’re feeding the family on a cold Tuesday or hosting friends on the weekend, this soup always gets rave reviews.
  • Deeply satisfying and filling: This is hearty enough to serve as a main course, especially with a simple side salad or crusty extra bread.

Key Ingredients

The magic of French onion soup starts with yellow onions, and lots of them. They shrink dramatically as they caramelize, so what looks like an overwhelming pile of onions in the pot will reduce to a perfectly sweet, jammy, deeply flavorful base. Yellow onions are ideal here because they have the right balance of sweetness and sharpness that develops beautifully over low, slow heat. Unsalted butter is your cooking fat of choice — it encourages even browning and adds a subtle richness that olive oil alone can’t replicate. A splash of dry white wine or dry sherry is added after the onions are fully caramelized to deglaze the pan, scraping up all those gorgeous browned bits from the bottom and adding a layer of complexity to the broth. Good-quality beef broth is the backbone of the whole soup — this is where that deep, savory umami richness comes from, so use the best you can find or make your own. A few sprigs of fresh thyme (or dried, in a pinch) bring an herbal earthiness that plays perfectly against the sweetness of the onions. And finally, Gruyère cheese — the non-negotiable crown jewel of this dish. It melts beautifully, develops a golden, nutty crust under the broiler, and has a slightly funky, complex flavor that no other cheese quite replicates in this application. If Gruyère is hard to find or out of budget, Swiss cheese makes a solid backup.

Pro Tips & Variations

Step-by-step shot of caramelized onions cooking in a wide Dutch oven alongside ingredients: baguette slices, Gruyère cheese, beef broth, and fresh thyme on a kitchen counter

  • Don’t rush the onions. This is the number-one rule. Low and slow is the only way to truly caramelize onions without burning them. Plan for 45–55 minutes over medium-low heat, stirring every 5–8 minutes. Serious Eats has an excellent deep-dive into the science of caramelizing onions if you want to geek out on the details.
  • Use oven-safe crocks or bowls. The broiling step requires bowls that can handle high heat. Wide, shallow crocks work better than deep bowls because you get more surface area for the cheese to cover.
  • Make it ahead: The caramelized onion soup base (without the bread and cheese) can be refrigerated for up to 5 days or frozen for up to 3 months. Just reheat, ladle into crocks, add toast and cheese, and broil.
  • Budget swap: If Gruyère is out of budget, use Swiss cheese, provolone, or even a sharp white cheddar. The flavor profile changes slightly but the result is still absolutely delicious.
  • Add a splash of cognac or brandy along with the wine for an extra layer of warmth and depth. A tablespoon or two goes a long way.
  • Make it heartier: Add a handful of sliced mushrooms to the onions during the last 10 minutes of caramelizing for a more substantial, earthy base.
  • Slow cooker variation: You can finish the soup in a slow cooker after caramelizing the onions on the stovetop. Add everything to the crock, cook on LOW for 4–6 hours, then ladle and broil. If you love slow cooker meals, check out our Slow Cooker Lasagna — Layered with No-Boil Noodles Cooked Right in the Crock for another hands-off dinner win.
  • Gluten-free option: Simply swap the baguette for a gluten-free bread or omit the toast and serve the soup with GF crackers on the side.

Nutritional Highlights

French onion soup is surprisingly nutritious for such an indulgent-feeling dish. Onions are packed with antioxidants and anti-inflammatory compounds, and they’re naturally low in calories even after caramelizing. The beef broth contributes collagen and minerals, and the Gruyère adds a meaningful hit of calcium and protein. Each serving clocks in around 380–420 calories, making it a satisfying yet reasonable choice for a weeknight dinner. You can lighten it up further by reducing the butter slightly and using a lower-sodium broth — it won’t sacrifice much in the way of flavor, especially if you’re seasoning thoughtfully throughout the cooking process. As Food Network notes in their French onion soup guide, the richness of this dish comes largely from technique rather than heavy cream or excessive fat, making it a smarter indulgence than it looks.

Frequently Asked Questions

Can I make French onion soup ahead of time?

Absolutely, and honestly, we recommend it. The caramelized onion soup base (the broth plus the onions, without the bread and cheese) stores beautifully in an airtight container in the refrigerator for up to 5 days. You can also freeze the base for up to 3 months in freezer-safe containers. When you’re ready to serve, simply reheat the soup on the stovetop until hot, ladle it into oven-safe crocks, top with toasted baguette slices and a generous pile of shredded Gruyère, and slide it under the broiler for 2–4 minutes until bubbly and golden. The broiling step takes less than 5 minutes, so dinner is essentially ready the moment the soup is hot.

What can I substitute for Gruyère cheese?

Gruyère is the traditional choice for good reason — it melts like a dream, develops a gorgeous golden crust under the broiler, and has that slightly nutty, complex flavor that makes French onion soup iconic. That said, it can be pricey and isn’t always easy to find at every grocery store. The best substitutes are Swiss cheese (very similar melt and mild flavor), Emmental (a close cousin of Gruyère with excellent melting properties), provolone, or even a sharp white cheddar if you want a bolder flavor. Mozzarella works in a pinch for that stretchy, gooey pull, though it’s much milder in flavor. Feel free to use a blend of two cheeses if that makes more sense budget-wise — a mix of Swiss and provolone is a great combination.

My onions aren’t browning — what am I doing wrong?

The most common culprits are heat that’s too low and a pan that’s too crowded. While you do want medium-low to medium heat for caramelizing onions, you need the pan to be hot enough to encourage browning rather than just steaming. Make sure you’re using a wide, heavy-bottomed pot — a Dutch oven is ideal — so the onions have room to spread out and make contact with the hot surface. Don’t be afraid to bump the heat up to medium during the process if things look too wet and pale. Stir every 5–8 minutes and let the onions sit undisturbed between stirs so they can actually develop color on the bottom of the pan. If you see dark bits forming on the pan itself, add a tablespoon of water and scrape them up — that’s flavor. The whole process takes 45–55 minutes, and there really are no shortcuts to perfectly golden, jammy, sweet caramelized onions.

Close-up shot of a spoonful of French onion soup being lifted from a crock showing stringy melted Gruyère and dark caramelized onions in rich amber broth

Ready to Make the Best French Onion Soup of Your Life?

This is one of those recipes that deserves a permanent place in your weeknight dinner rotation — not just for special occasions, not just when company comes over, but for any cold evening when your family needs something warm, rich, and deeply satisfying. The hands-on effort is minimal once you understand that the onions do most of the work on their own while you go about your evening. And the result is a bowl of soup so good it genuinely rivals anything you’d pay restaurant prices for. Make a big batch of the base, stash it in the fridge or freezer, and you’ve got one of the best meal-prep wins of the season ready to go whenever you need it. If you loved this recipe, share it with a friend, pin it for later, and leave a comment below letting us know how it turned out in your kitchen — we always love hearing from you. And if you’re on a soup kick, don’t miss our Chicken Gnocchi Soup — Creamy Copycat with Pillowy Gnocchi and Shredded Carrots for another bowl that the whole family will love.

Find the complete recipe card below ↓

Close-up shot of a spoonful of French onion soup being lifted from a crock showing stringy melted Gruyère and dark caramelized onions in rich amber broth

French Onion Soup

No ratings yet
Prep Time 10 minutes
Cook Time 1 hour 5 minutes
Total Time 1 hour 15 minutes
Servings 4 servings
Calories 410 kcal

Equipment

  • Large Dutch oven or heavy-bottomed pot
  • Baking sheet
  • 4 oven-safe soup crocks or bowls
  • Ladle
  • Box grater
  • Wooden spoon

Ingredients
  

Soup Base

  • 3 lbs yellow onions about 5–6 large, thinly sliced into half-moons
  • 3 tablespoons unsalted butter
  • 1 tablespoon olive oil
  • 1 teaspoon granulated sugar optional, helps browning
  • 3 cloves garlic minced
  • 1 tablespoon all-purpose flour for thickening
  • 1/2 cup dry white wine or dry sherry for deglazing
  • 4 cups good-quality beef broth low-sodium preferred
  • 2 cups chicken broth adds lightness to balance the beef broth
  • 4 sprigs fresh thyme or 1/2 teaspoon dried thyme
  • 2 bay leaves
  • 1 tablespoon Worcestershire sauce
  • 1 teaspoon kosher salt plus more to taste
  • 1/2 teaspoon black pepper freshly ground

Gruyère Toasts

  • 8 slices baguette about 1/2 inch thick
  • 1 1/2 cups Gruyère cheese freshly shredded, about 6 oz
  • 1 tablespoon olive oil for brushing the bread

Instructions
 

Caramelize the Onions

  • In a large, heavy-bottomed Dutch oven or wide pot, melt the butter with the olive oil over medium heat. Add all the sliced onions and stir to coat them in the fat. Sprinkle with 1 teaspoon of salt and the optional sugar.
  • Cook the onions, stirring every 5–8 minutes, over medium to medium-low heat for 45–55 minutes total. Adjust the heat as needed — you want steady sizzling without burning. The onions are ready when they are deep golden brown, jammy, and reduced to about one-quarter of their original volume.

Build the Soup

  • Add the minced garlic to the caramelized onions and cook for 1 minute, stirring constantly, until fragrant.
  • Sprinkle the flour over the onions and stir well to coat. Cook for 1–2 minutes to eliminate the raw flour taste.
  • Pour in the white wine or dry sherry and scrape up any browned bits from the bottom of the pot. Let the wine reduce by half, about 2 minutes.
  • Add the beef broth, chicken broth, thyme sprigs, bay leaves, Worcestershire sauce, and black pepper. Stir to combine and bring to a gentle simmer over medium heat.
  • Reduce the heat to low and simmer uncovered for 15–20 minutes to allow the flavors to meld. Remove and discard the thyme sprigs and bay leaves. Taste and adjust salt and pepper as needed.

Toast the Baguette

  • While the soup simmers, preheat your oven broiler to HIGH and position a rack in the upper third of the oven.
  • Arrange baguette slices on a baking sheet and lightly brush both sides with olive oil. Broil for 1–2 minutes per side until golden and lightly crisped. Watch closely — they brown fast. Set aside.

Broil and Serve

  • Ladle the hot soup into 4 oven-safe crocks or bowls, filling them about 3/4 full. Place 2 toasted baguette slices on top of each bowl of soup.
  • Top each bowl generously with shredded Gruyère cheese, making sure the cheese covers the bread and extends slightly to the edges of the bowl.
  • Carefully place the filled crocks on a sturdy baking sheet and slide under the broiler for 2–4 minutes, until the cheese is fully melted, bubbling, and golden brown in spots. Watch closely.
  • Remove from the broiler carefully — the bowls will be extremely hot. Let rest for 1–2 minutes before serving. Garnish with fresh thyme leaves if desired.

Notes

Make-ahead tip: The soup base (without bread and cheese) can be refrigerated for up to 5 days or frozen for up to 3 months. Reheat on the stovetop before ladling and broiling.
Cheese swap: Swiss, Emmental, or provolone are great substitutes for Gruyère if budget or availability is a concern.
Broiling safety: Always place crocks on a baking sheet before putting them under the broiler — it makes them much easier and safer to handle.
Onion tip: Don't rush the caramelization. The deep color and sweetness of the onions is the heart of this entire recipe.

Nutrition

Calories: 410kcalCarbohydrates: 38gProtein: 18gFat: 20gSodium: 920mgFiber: 4gSugar: 12g
No ratings yet