Classic French Onion Soup (Easy & Cozy)
There is nothing quite like a bowl of classic French onion soup: deep golden onions, a rich, savory broth, and that bubbling blanket of Gruyère on top. According to culinary experts, the key to an authentic French onion soup lies in deeply caramelized onions. This is the cozy bistro favorite you love, made simple enough for a weeknight yet special enough for a stay-at-home date night.
Why You’ll Love This Classic French Onion Soup
- Big flavor from simple ingredients: Everyday onions, broth, and bread transform into a restaurant-worthy soup with slow caramelization.
- Perfect for chilly nights: This is the ultimate cozy, cold-weather comfort food that feels like a warm blanket in a bowl.
- Make-ahead friendly: The soup base reheats beautifully, so you can prep it in advance and broil with cheese right before serving.
- Flexible and budget-conscious: Use a mix of broths, customize the cheese, and turn pantry staples into an impressive main course.
Ingredients
- 3 tbsp (42 g) unsalted butter (for richness)
- 1 tbsp (15 ml) olive oil (helps prevent burning)
- 6 large (about 1.3–1.5 kg total) yellow onions (thinly sliced; you can mix with sweet onions)
- 1 ½ tsp kosher salt (divided, to season and help onions release moisture)
- ½ tsp granulated sugar (optional) (helps boost caramelization, optional)
- ½ cup (120 ml) dry white wine (such as Sauvignon Blanc; see notes for non-alcoholic option)
- 2 tbsp (16 g) all-purpose flour (lightly thickens the broth)
- 2 tbsp (30 ml) dry sherry or brandy (optional) (adds classic French depth of flavor)
- 4 cups (960 ml) beef broth or stock (low-sodium preferred)
- 2 cups (480 ml) chicken or vegetable broth (for balance; use vegetable for a no-beef version)
- 4–5 sprigs fresh thyme (or ½ tsp dried thyme)
- 1 large bay leaf (dried)
- ½ tsp freshly ground black pepper (to taste)
- 1–2 tsp balsamic vinegar or Worcestershire sauce (optional, for brightness and umami)
- 1 small (about 220 g) baguette (sliced into 1.25 cm / ½-inch rounds)
- 1–2 tbsp (15–30 ml) olive oil or melted butter (for toasts) (for brushing baguette slices)
- 2 cups (200 g) Gruyère cheese (freshly grated; can mix with Emmental or Swiss)
- ½ cup (45 g) Parmesan cheese (optional) (freshly grated, for extra savory flavor)
- 1–2 tbsp fresh parsley or thyme leaves (optional) (chopped, for garnish)
Instructions
- Prepare the onions. Peel the onions, cut them in half from root to tip, then slice them into thin half-moons about 3–4 mm (1/8-inch) thick. Try to keep the slices even so they cook at the same rate.
- Start caramelizing. In a large heavy-bottomed pot or Dutch oven, melt the butter with the olive oil over medium heat. Add the sliced onions and sprinkle with 1 teaspoon kosher salt and the sugar, if using. Toss well to coat the onions in the fat.
- Cook low and slow. Cook the onions, stirring every few minutes, for 35–45 minutes, or until they are deeply golden brown and jammy. Adjust the heat as needed to prevent scorching; lower the heat if the onions start to brown too quickly, and add a splash of water to loosen any browned bits on the bottom.
- Deglaze with wine. Once the onions are rich and caramelized, increase heat to medium-high. Pour in the white wine and use a wooden spoon to scrape up all the brown bits from the bottom of the pot. Simmer for 2–3 minutes until the wine is mostly reduced and no harsh alcohol smell remains.
- Add flour and aromatics. Sprinkle the flour over the onions and stir constantly for 1–2 minutes to cook off the raw flour taste. Add the sherry or brandy, if using, and cook for 1 minute.
- Build the broth. Gradually pour in the beef broth and chicken (or vegetable) broth while stirring. Add the thyme sprigs, bay leaf, remaining ½ teaspoon salt, and black pepper. Bring to a gentle simmer, then reduce heat to low and cook uncovered for 25–30 minutes, stirring occasionally to develop flavor.
- Adjust seasoning. Remove the thyme sprigs and bay leaf. Taste the soup and adjust with more salt and pepper as needed. Stir in balsamic vinegar or Worcestershire sauce, starting with 1 teaspoon and adding more to taste for brightness and depth.
- Toast the baguette. While the soup simmers, preheat your oven to 375°F (190°C). Arrange the baguette slices on a baking sheet in a single layer. Brush lightly with olive oil or melted butter on both sides. Toast for 8–10 minutes, flipping once, until golden and crisp. Set aside.
- Prepare for broiling. Ladle the hot soup into oven-safe bowls or ramekins placed on a rimmed baking sheet. Fill each bowl about three-quarters full, leaving room for bread and cheese.
- Top with bread and cheese. Place 1–3 toasted baguette slices on top of each bowl of soup, depending on the size of your bowls. Generously sprinkle each serving with Gruyère, dividing it evenly, and add Parmesan on top if using. The bread should be mostly covered by cheese.
- Broil until bubbly. Set your oven to broil (high). Carefully transfer the baking sheet with the soup bowls to the upper third of the oven. Broil for 3–6 minutes, watching closely, until the cheese is melted, bubbly, and browned in spots.
- Serve. Let the bowls rest for a few minutes (they will be very hot), then garnish with chopped parsley or thyme if desired. Serve with extra toasted baguette on the side for dunking.
Pro Tips & Variations
These pro tips will help you nail classic French onion soup every time.
- Slice the onions evenly: Thin, even slices caramelize more uniformly and prevent some onions from burning while others stay pale.
- Be patient with caramelization: Resist the urge to rush the onions over high heat; low and slow cooking creates the deeply sweet, complex flavor that makes this soup special.
- No wine version: Replace the wine with an equal amount of extra broth plus 1 teaspoon additional balsamic vinegar or lemon juice for brightness.
- Cheese swaps and upgrades: Try a mix of Gruyère and Comté, Emmental, or a bit of mozzarella for stretch; for extra savoriness, keep the Parmesan topping.
Storage & Serving
Leftover classic French onion soup stores beautifully. Let it cool to room temperature, then transfer the broth and onions (without bread or cheese) to an airtight container. Refrigerate for up to 4 days or freeze for up to 3 months. Reheat gently on the stovetop over medium-low heat until steaming. When ready to serve, ladle the hot soup into oven-safe bowls, top with freshly toasted baguette slices and grated cheese, and broil just before serving so the topping stays crisp and bubbly. Leftover toasted baguette can be stored in an airtight bag at room temperature for 1–2 days and briefly re-crisped in a 350°F (175°C) oven.
Nutrition (per serving)
Calories: 360 | Protein: 18g | Carbs: 38g | Fat: 14g | Fiber: 3g
Frequently Asked Questions
Can I make classic French onion soup without alcohol?
Yes. Replace the white wine with an equal amount of extra broth and add 1–2 teaspoons of balsamic vinegar or lemon juice at the end to mimic the brightness that wine adds.
What onions are best for French onion soup?
Yellow onions are the best all-purpose choice, but you can use a mix of yellow and sweet onions (like Vidalia) for extra sweetness and depth. Avoid using only red onions, which can turn the broth a murky color.
Can I use only beef broth in this recipe?
Yes. Using only beef broth will give a deeper, more robust flavor. If you find it too intense, you can dilute with a bit of water or mix in some chicken or vegetable broth next time.
How do I keep the cheese from sinking into the soup?
Make sure the baguette slices are well toasted and use enough bread to create a “raft” on top of the soup before adding the cheese. Thick, sturdy slices hold the cheese on the surface better than very thin slices.
Can I make French onion soup ahead for a dinner party?
Absolutely. Prepare the soup base up to 2 days in advance and keep it refrigerated. Shortly before serving, reheat the soup, ladle into bowls, top with freshly toasted baguette and cheese, and broil until bubbly.