FRENCH ONION SOUP RECIPE

French onion soup transforms the humble onion into a show-stopping dish. With its rich, caramelized onions and golden, bubbly cheese toast topping, it’s the ultimate comfort meal.

If you’ve only ever enjoyed French onion soup at a restaurant, you’ll be amazed at how simple it is to recreate at home. With a little patience and care, you can turn a few pantry staples — onions, broth, butter, and cheese — into a luxurious bowl of flavorful, silky onions nestled in a savory broth.

This recipe will walk you through choosing the best onions, avoiding common wine mistakes, and selecting the ideal cheese. In no time, you’ll wow your friends and family with this timeless bistro favorite.

INGREDIENTS

  • 2 1/2 pounds large yellow onions (about 3 to 4 onions)
  • 4 tablespoons (1/2 stick) unsalted butter
  • 5 sprigs fresh thyme
  • 2 fresh or dried bay leaves
  • 1 1/2 teaspoons kosher salt, plus more to taste
  • 1/4 teaspoon freshly ground black pepper, plus more to taste
  • 1 tablespoon all-purpose flour
  • 1 cup dry white wine
  • 6 cups low-sodium beef broth
  • 2 tablespoons brandy or Cognac (optional but recommended)
  • 8 ounces Gruyère cheese
  • 1 baguette (about 9 inches long, 6 ounces)

INSTRUCTIONS

  • Prepare the Onions: Halve, peel, and thinly slice 2 1/2 pounds of yellow onions (about 8 cups). In a large pot or Dutch oven, melt 4 tablespoons of butter over medium heat. Add the onions, 5 thyme sprigs, 2 bay leaves, 1 1/2 teaspoons kosher salt, and 1/4 teaspoon black pepper. Stir to combine. Cover and cook undisturbed for 5 minutes. Stir, cover again, and cook for another 5 minutes.
  • Caramelize the Onions: Uncover and cook the onions, stirring occasionally at first and more frequently as they brown. Continue cooking until they are deeply caramelized, about 30 to 40 minutes. Adjust the heat as necessary to prevent burning, and scrape the pot’s bottom to mix in any browned bits. Rotate the pot if it cooks unevenly.
  • Thicken the Soup: Sprinkle 1 tablespoon of flour over the onions, stirring to coat. Cook for 1 minute to toast the flour lightly. Increase the heat to medium-high and add 1 cup of dry white wine, stirring to deglaze the pot. Cook until the wine reduces by half, about 1 to 2 minutes. Remove and discard the thyme stems.
  • Simmer the Broth: Add 6 cups of beef broth, stir, and bring to a boil. Reduce to a steady simmer and cook for 25 to 30 minutes, stirring occasionally, until the soup thickens slightly and takes on a rich, glossy brown color. If desired, stir in 2 tablespoons of brandy or Cognac during the last 5 minutes.
  • Prepare the Toppings: While the soup simmers, preheat the broiler to high and position a rack 5 to 6 inches from the heat source. Place 6 oven-safe soup bowls or ramekins on a rimmed baking sheet. Grate 8 ounces of Gruyère cheese (about 2 1/2 to 3 cups) and slice the baguette into 12 slices (3/4 inch thick).
  • Assemble and Broil: Remove the bay leaves from the soup and adjust the seasoning with salt and pepper. Ladle the soup into the bowls until 3/4 full (about 1 1/3 cups per bowl). Sprinkle 1 heaping tablespoon of cheese into each bowl. Top with 2 slices of baguette, trimming to fit as needed. Cover with the remaining cheese, creating a thick, even layer (about 1/3 cup per bowl). Broil until the cheese is melted, bubbling, and lightly browned, 3 to 6 minutes, rotating the sheet if necessary for even browning.

NOTES

  • Make Ahead: Prepare the soup without adding brandy. Store in an airtight container in the fridge for up to 5 days. When ready to serve, heat the soup to a simmer, add brandy if desired, and continue with the recipe from the assembly step.
  • Storage: Store soup (without cheese or bread) in an airtight container in the refrigerator. Reheat before assembling and broiling.