Classic French Onion Soup
Cooking

Classic French Onion Soup

A rich, deeply flavorful soup with caramelized onions, savory broth, and melted Gruyère cheese on top of crusty bread. Takes about 1.5 hours, mostly hands-off simmering time. Perfect for a cozy dinner or impressing guests with minimal effort.

Serves 4
AM
Alex M.· Jul 28, 2026
0 of 13 done

Prepare the onions

Peel and thinly slice all the onions into even half-moon shapes. This ensures they cook uniformly. Don't worry about perfect slices — just aim for consistency.

4 large yellow onionscutting boardsharp knife

Start caramelizing the onions

In a large heavy-bottomed pot or Dutch oven, melt the butter with the olive oil over medium heat. Add all the sliced onions and a pinch of salt. Stir to coat everything in the fat.

3 tbsp butter2 tbsp olive oil1 tsp saltlarge heavy-bottomed pot

Cook the onions low and slow

Reduce heat to medium-low and cook the onions, stirring every 5-10 minutes, for 40-50 minutes. They should turn deep golden brown and sweet. If they start to stick or burn, lower the heat and add a splash of water. Patience here is key — this is where all the flavor develops.

wooden spoontimer

Add garlic and thyme

Once the onions are deeply caramelized, add the minced garlic and fresh thyme leaves. Stir and cook for 1-2 minutes until fragrant. The garlic should soften but not brown.

3 cloves garlic, minced2 tsp fresh thyme leaves

Deglaze with wine

Pour in the dry white wine and use your wooden spoon to scrape up all the browned bits stuck to the bottom of the pot. Let the wine simmer for 3-4 minutes until it reduces by half.

1/2 cup dry white winewooden spoon

Add broth and seasonings

Pour in the beef broth, add the bay leaves, and a bit of black pepper. Stir well to combine. Bring the soup to a gentle boil, then reduce heat to low and let it simmer uncovered for 20-30 minutes to deepen the flavors.

6 cups beef broth2 bay leaves1/2 tsp black pepper

Taste and adjust seasoning

Remove the bay leaves and taste the soup. Add more salt and pepper if needed. If you want a touch of sweetness to balance the savory depth, add a tiny pinch of sugar.

salt to tastepepper to tastespoon for tasting

Prepare the bread

While the soup simmers, slice the baguette into 1-inch thick rounds. Arrange them on a baking sheet and lightly brush both sides with olive oil. Toast in a 375°F oven for 8-10 minutes until golden and crispy.

1 French baguette2 tbsp olive oilbaking sheetpastry brush

Preheat the broiler

Position your oven rack about 6 inches from the broiler element and turn the broiler to high. You want it nice and hot for melting the cheese.

oven

Assemble the soup bowls

Ladle the hot soup into oven-safe bowls or crocks, filling each about 3/4 full. Place 1-2 toasted bread slices on top of each bowl so they float on the soup.

4 oven-safe soup bowlsladletoasted bread slices

Add the cheese

Generously cover each bread-topped bowl with shredded Gruyère cheese. Don't be shy — a thick layer of cheese is traditional and delicious. The cheese should drape over the edges of the bread.

2 cups shredded Gruyère cheese

Broil until bubbly

Carefully place the bowls on a baking sheet (for easier handling and to catch drips) and slide under the broiler. Broil for 2-4 minutes, watching closely, until the cheese is melted, bubbly, and golden brown in spots. Don't walk away — broilers work fast!

baking sheetoven mitts

Serve immediately

Carefully remove the bowls from the oven using oven mitts — they'll be extremely hot. Let cool for 2-3 minutes, then serve with extra black pepper and fresh thyme on top if desired. Warn your guests that the bowls are hot!

oven mittsserving spoonsfresh thyme for garnish (optional)