French onion soup topped with toasted baguette and melted Gruyère cheese.

French Onion Soup Recipe

Deeply caramelized onions simmered in savory beef stock and finished with crisp baguette and bubbling Gruyère cheese.

Prep 20 min
Cook 1 hr 30 min
Total 1 hr 50 min
Servings 6 servings
Difficulty Moderate
Jump to Recipe Adapt This Recipe
Air fryerConversion not recommended

Contains: Milk · Wheat

Check the labels of the beef stock, baguette and Gruyère you use if you have food allergies, because packaged products and bakery breads can vary by manufacturer.

WHY IT WORKS

Why This Recipe Works

01

Caramelize Slowly

Long, gentle cooking turns a large volume of onions deeply golden and concentrates their natural sweetness without scorching them.

02

Keep the Fond

A splash of stock loosens the browned onion bits from the pot so their concentrated flavor becomes part of the broth instead of being left behind.

03

Finish Under the Broiler

Toasted baguette gives the cheese a sturdy base while the broiler melts the Gruyère into the bubbling, browned topping that defines the finished soup.

WHAT YOU’LL NEED

Equipment

Large Dutch oven or heavy pot
Wooden spoon
Rimmed baking sheet
6 broiler-safe soup bowls
Ladle

THE RECIPE

Ingredients & Method

Use these cooking tools without leaving the recipe. Change the servings, switch measurements, keep a private note in this browser, and use any timer buttons shown below the method steps.

Measurements
Servings

My Notes

Ingredients

Tick ingredients as you use them.

Use the ingredient tools when you want to convert a quantity or compare a substitution.

Measurements
  • Tools

Method

Tap a step number as you finish it.

Timed steps show a timer button beneath the instruction.

  1. Melt the butter with the olive oil in a large Dutch oven or heavy pot over medium heat. Add the onions and salt, stir well, cover and cook for 10 minutes, stirring once or twice, until the onions begin to soften.
  2. Uncover and reduce the heat to medium-low. Cook the onions for 45 to 55 minutes, stirring every 5 to 10 minutes and more often near the end, until they are very soft and deep golden brown. Lower the heat if they begin to scorch; if browned bits stick firmly, loosen them with a small splash of the measured stock.
  3. Add the garlic and cook for about 1 minute. Sprinkle over the flour and cook, stirring, for another 1 minute so the raw flour taste cooks out.
  4. Add about 1/2 US cup of the beef stock and scrape the bottom of the pot to release the browned onion bits. Add the remaining stock, thyme, bay leaf and black pepper. Bring to a gentle simmer and cook uncovered for 25 minutes. Remove the bay leaf, then taste and adjust the salt if needed.
  5. Heat the broiler to high. Arrange the baguette slices on a rimmed baking sheet and broil for 1 to 2 minutes per side, watching closely, until dry and lightly golden.
  6. Set 6 broiler-safe soup bowls on the baking sheet. Divide the hot soup among the bowls, top each with 2 baguette slices and scatter the Gruyère evenly over the bread. Broil for 2 to 4 minutes, watching continuously, until the cheese is melted, bubbling and browned in spots. Serve carefully; the bowls will be very hot.

COOKING GUIDANCE

Practical Cooking Notes

Make Ahead

Prepare the soup through the simmering step, cool it promptly and refrigerate it in a covered container for up to 3 days. Reheat the soup until steaming hot, then make the baguette and Gruyère topping just before serving so the bread stays crisp.

Recipe tools

Adapt This Recipe

Change the quantities, measurements, pan, cooking method or ingredients, then turn what you need into a shopping list.

Dietary options

Make This Recipe Work for You

Only straightforward swaps are offered automatically. If changing a defining ingredient would effectively create a different dish, that conversion is left out.

Make It Vegetarian

Change the following ingredient:

Replace6 US cups low-sodium beef stock

With6 US cups low-sodium vegetable stock

Use the same quantity of vegetable broth or stock.

Make It Gluten-Free

Change the following ingredients:

Replace2 tablespoons (tbsp) all-purpose flour

With2 tablespoons (tbsp) gluten-free all-purpose flour blend

For a coating, roux or modest thickening amount, use a one-for-one gluten-free all-purpose flour blend intended for cooking.

Replace12 slices baguette, about 1/2 inch thick

With12 slices gluten-free baguette, about 1/2 inch thick

Use a gluten-free bread or loaf with a similar shape and texture.

For allergies, intolerances or strict dietary requirements, check the labels of the specific products you use. These swaps do not certify a recipe or ingredient as allergen-free.

Recipe Notes

Ingredient Notes

Yellow onions are the foundation of the soup, so give them enough time to become deeply golden. Low-sodium beef stock lets you control the final seasoning, while Gruyère melts smoothly over the crisp baguette and brings the characteristic savory, nutty finish.

Useful Substitutions

French bread can replace the baguette if it can be sliced into sturdy rounds. If Gruyère is unavailable, another good melting Swiss-style cheese can be used, although the finished flavor will be less characteristic of this version.

INGREDIENT QUALITY

Quality Note

Slice the onions as evenly as possible and give them time to caramelize over moderate heat. Deep golden-brown onions create the soup's sweetness and savory depth; rushing them over high heat can leave scorched edges and a harsher flavor.

SPEND LESS

Cost-Saving Tip

Yellow onions make up most of the recipe, so a larger bag can be useful if you will use the extras elsewhere. A day-old baguette is also ideal for the toasts because it crisps readily under the broiler.

COOKING TIPS

Tips

Slice the Onions Evenly

Even slices soften and brown at roughly the same rate, which makes it easier to build a deep caramelized flavor without burned edges.

Adjust the Heat, Not the Clock

The onions should become deep golden brown gradually. If dark patches appear before the onions are soft, lower the heat and keep stirring.

Toast the Bread First

Drying and lightly browning the baguette before it meets the soup helps it hold its shape beneath the melted cheese.

Watch the Broiler Closely

Gruyère can go from melted to deeply browned quickly. Keep the bowls on a baking sheet and stay at the oven while the cheese finishes.

MAKE IT LAST

Storing, Freezing & Reheating

Storing

Store the soup without the baguette and cheese topping in a covered container in the refrigerator and use it within 3 to 4 days.

Freezing

Cool the soup completely, freeze it without the bread or cheese in an airtight container, and use it within about 3 months for best quality. Thaw overnight in the refrigerator.

Reheating

Reheat the soup gently on the stovetop until steaming hot throughout. Stir occasionally so the onions heat evenly.

Finish Fresh

Toast the baguette and broil it with the Gruyère only when you are ready to serve. Freezing or refrigerating the assembled topping makes the bread softer.

ESTIMATED PER SERVING

Nutrition

1 of 6 servings

430 kcal Calories
18 g Fat 23% DV
10 g Saturated fat 50% DV
45 g Carbohydrate 16% DV
5 g Fiber 18% DV
9 g Sugars
17 g Protein
980 mg Sodium 43% DV
50 mg Cholesterol 17% DV

Nutrition information is an estimate. Where shown, % Daily Value uses standard US Daily Values for adults and children aged 4+; actual values vary with ingredient brands, exact quantities and portion size.

QUESTIONS

French Onion Soup FAQs

How long should I caramelize the onions?

Allow about 45 to 55 minutes after the initial covered softening stage. The onions should be very soft and deep golden brown rather than merely translucent. Their color and flavor matter more than hitting an exact minute.

What onions are best for French onion soup?

Yellow onions are a dependable choice because they develop a balanced sweetness and savory depth as they cook. Slice them evenly so they caramelize at a similar rate.

Can I make the soup ahead of time?

Yes. Make the soup base up to 3 days ahead, cool it promptly and refrigerate it covered. Reheat it until steaming hot, then toast the baguette and broil the Gruyère topping just before serving.

Can I use a different cheese instead of Gruyère?

Gruyère gives this version its characteristic nutty, savory topping. If necessary, another good melting Swiss-style cheese can work, although the flavor will be different.

Do I need special bowls for the broiler?

Use bowls specifically rated as broiler-safe and place them on a rimmed baking sheet before filling them. If your bowls are not broiler-safe, melt the cheese over the baguette slices on the baking sheet and place the finished toasts on the hot soup instead.

Looking for Something Else to Cook?

Browse more SinOrSlim recipes or use the recipe tools to adapt what you already have.