Classic French Onion Soup Recipe
This French onion soup is rich, savory, and topped with crusty bread and melted cheese. A classic comfort dish perfect for cozy dinners.
Prep Time 10 minutes mins
Cook Time 49 minutes mins
Total Time 59 minutes mins
Course Soup
Cuisine French
- 4 large yellow onions thinly sliced
- 3 tablespoons unsalted butter
- 1 tablespoon olive oil
- 1 teaspoon sugar optional, for faster caramelization
- 2 cloves garlic minced
- ½ cup beef broth + 1 teaspoon apple cider vinegar
- 6 cups beef broth or a mix of beef and chicken broth for lighter flavor
- 1 teaspoon fresh thyme leaves or ½ teaspoon dried thyme
- 1 bay leaf
- Salt and pepper to taste
- 4 slices of French baguette toasted
- 1½ cups grated Gruyère cheese or Swiss cheese for a milder option
Step 1: Caramelize the onions
Start by heating the butter and olive oil in a large pot over medium heat. Add the sliced onions and stir to coat them evenly. Sprinkle with a pinch of salt and, if using, the sugar.
Cook, stirring occasionally, for 25–30 minutes, or until the onions are deeply golden and caramelized. Be patient this step is key to developing the soup’s signature flavor.
Step 2: Add garlic and deglaze
Stir in the minced garlic and cook for about 1 minute, just until fragrant. Pour in the ½ cup beef broth + 1 teaspoon apple cider vinegar to deglaze the pot, scraping up any browned bits from the bottom. Let it simmer for 2–3 minutes to reduce slightly.
Step 3: Build the broth
Add the beef broth, thyme, and bay leaf to the pot. Bring the soup to a gentle simmer, then reduce the heat to low. Let it cook for 20–25 minutes, allowing the flavors to meld together. Season with salt and pepper to taste, and remove the bay leaf before serving.
Step 4: Toast and top
While the soup simmers, preheat your broiler. Toast the baguette slices until golden brown. Ladle the soup into oven-safe bowls, place a slice of baguette on top of each, and sprinkle generously with grated Gruyère cheese.
Step 5: Broil to perfection
Place the bowls under the broiler for 2–3 minutes, or until the cheese is melted, bubbly, and slightly browned. Keep an eye on them to avoid burning. Carefully remove the bowls (they’ll be hot!) and let them cool slightly before serving.