Make restaurant-style French Onion Soup at home. This recipe focuses on deeply caramelized onions and a rich beef broth, finished with a bubbly Gruyère cheese and baguette topping. It is a simple, reliable method for achieving classic comfort food.
Combine the sliced onions, butter, olive oil, salt, and sugar in a large, heavy-bottomed pot or Dutch oven. Cook over medium-low heat, stirring occasionally for the first 15 minutes.
Reduce the heat to low and continue cooking the onions slowly for 40 to 50 minutes, stirring every 5 to 10 minutes. You want the onions to become deep brown and sweet. Do not rush this step; this caramelization creates the soup’s depth.
Add the minced garlic and cook for 1 minute until fragrant.
If using, pour in the white wine and scrape up any browned bits from the bottom of the pot. Cook until the wine has mostly evaporated, about 3 minutes.
Pour in the beef stock, add the bay leaves and thyme. Bring the soup to a simmer, then reduce heat to low, cover partially, and cook for 20 minutes to let the flavors combine. Remove the bay leaves. Taste and adjust seasoning with salt and pepper.
Preheat your broiler. Arrange the baguette slices on a baking sheet and toast them lightly under the broiler for 1 to 2 minutes per side until dry and lightly golden.
Ladle the hot soup into oven-safe bowls. Place one or two toasted baguette slices on top of the soup in each bowl.
Generously cover the bread with grated Gruyère cheese.
Place the bowls on a baking sheet and broil for 2 to 4 minutes, watching closely, until the cheese is melted, bubbly, and golden brown. Serve immediately.
Notes
For the deepest flavor, use high-quality beef stock. If you do not have beef stock, you can use a mix of beef and vegetable stock, but the final flavor will be less intense.
If you skip the wine, add 1/4 cup of water or extra stock when deglazing the pot to lift the browned bits.
Gruyère is traditional, but you can substitute it with Swiss cheese or Provolone for a similar melt and flavor profile.