Classic French Onion Soup

Classic French Onion Soup

A timeless bistro classic made right in your own kitchen. Deeply caramelized onions simmered in rich beef broth with a splash of white wine and fresh thyme, ladled into crocks and crowned with crusty toasted baguette slices and a blanket of bubbling, golden Gruyère cheese. This recipe takes patience — but the results are absolutely worth every minute.

4 servings · Prep 15 min · Cook 90 min · Total 105 min

Soup

Main

  • 3 lb yellow onions about 5–6 large, peeled and thinly sliced into half-moons
  • 3 tbsp unsalted butter
  • 1 tbsp olive oil
  • 1 tsp granulated sugar helps the onions caramelize
  • 1 tsp kosher salt plus more
  • 3 cloves garlic minced
  • 2 tbsp all-purpose flour
  • 6 cup beef broth low-sodium preferred
  • 1 cup water
  • 2 whole bay leaves
  • 1 tbsp Worcestershire sauce
  • 0.25 tsp black pepper freshly ground

Toasted Baguette

  • 1 whole baguette cut into 3/4-inch slices (8 slices needed)
  • 2 tbsp olive oil for brushing

Cheese Topping

  • 2 oz Parmesan cheese freshly grated; optional but adds great depth

Equipment

  • Oven
  • Stovetop
  • Dutch Oven
  • Baking Sheet
  • Pot
  • Broiler
  • Wooden Spoon
  • Ice Cube Tray
  • Pastry Brush
  • Knife
  • Jelly Roll (10x15)
  • Ladle
  • Cutting Board
  • Grater

Instructions

  1. Melt the @[Butter] with the @[Olive Oil] in a large #[Dutch Oven] or heavy-bottomed #[Pot] over ^[medium heat]. Add all the sliced @[Yellow Onions], @[Kosher Salt], and @[Granulated Sugar]. Stir to coat well. Cook uncovered, stirring every ~[5–8 minutes], for ~[50–60 minutes] total. The onions should slowly turn deep golden-brown and jammy. If they're browning too fast or sticking, lower the heat and add a splash of @[Water] to deglaze. Don't rush this step — properly caramelized onions are the soul of this soup.
  2. Add the @[Garlic] minced and cook, stirring, for ~[1 minute] until fragrant.
  3. Pour in the white wine and stir, scraping up any browned bits from the bottom of the pot. Let the wine cook down for about ~[3 minutes] until mostly evaporated.
  4. Sprinkle the @[All-Purpose Flour] over the onions and stir well to coat. Cook for ~[2 minutes], stirring constantly, to eliminate the raw flour taste.
  5. Gradually pour in the @[Beef Broth] and @[Water], stirring constantly. Add the thyme sprigs, @[Bay Leaves], @[Worcestershire Sauce], and @[Black Pepper]. Bring to a boil, then reduce heat to ^[low]. Simmer uncovered for ~[20–25 minutes]. Remove the thyme sprigs and bay leaves. Taste and adjust @[Kosher Salt] and @[Black Pepper] as needed.
  6. While the soup simmers, preheat your #[Oven] to ![400°F]. Arrange the @[Baguette] slices on a #[Baking Sheet] and brush both sides lightly with @[Olive Oil]. Bake for ~[6–8 minutes], flipping once halfway through, until golden and crisp. Set aside.
  7. Grate the Gruyère (and @[Parmesan Cheese] if using) and set aside. Have your oven-safe soup crocks ready on a sturdy #[Baking Sheet].
  8. Switch your #[Oven] to the #[Broiler] setting (^[high]). Ladle the hot soup into the oven-safe crocks, filling them about 3/4 full. Place 1–2 toasted @[Baguette] slices on top of each crock, slightly overlapping if needed. Pile a generous handful of Gruyère (and @[Parmesan Cheese] if using) over the bread, covering it completely and letting it drape over the edges of the crock slightly.
  9. Carefully place the #[Baking Sheet] with the filled crocks under the #[Broiler], about 6 inches from the heat. Broil for ~[3–5 minutes], watching closely, until the cheese is fully melted, bubbly, and has golden-brown spots. Remove carefully — the crocks will be extremely hot. Let rest for ~[2 minutes] before serving.