French onion soup
Non-vegetarian
Soupe à l'oignon gratinée
Deep, sweet broth of slowly caramelised onions and beef stock, topped with toasted bread and melted Gruyère.
French onion soup is a French soup from France, ready in about 1 hour 45 minutes and made with onion, beef stock and gruyère. It serves 4 and is rated easy to cook.

- Prep
- 15 min
- Cook
- 1 h 30 min
- Total
- 1 h 45 min
- Serves
- 4
- Level
- Easy
- Calories
- 529
Method
Step 1
Melt the butter (opens in a new tab) with the oil in a heavy pot. Add the onions (opens in a new tab) and salt, cover and cook gently until very soft.
- 15 min
- medium-low heat
- Dutch oven / casserole pot (opens in a new tab)

How it looks · Photo: Magda Ehlers on Pexels Step 2
Uncover and keep cooking, stirring every few minutes and scraping the base, until the onions (opens in a new tab) are deep golden-brown and jammy.
- 40 min
- medium-low heat
Add a splash of water if they start to catch.
Step 3
Stir in the flour for a minute, then the wine, scraping up the browned bits. Add the stock, thyme (opens in a new tab), bay and pepper (opens in a new tab) and simmer.
- 30 min
- medium-low heat
Step 4
Heat the grill. Fish out the thyme (opens in a new tab) stalks and bay leaf (opens in a new tab) and taste for salt. Ladle the soup into ovenproof bowls, float a slice of toast on each and cover with cheese. Grill until bubbling and browned.
- 5 min
- 240°C · grill/broiler
Food safety: The bowls get extremely hot — use oven gloves and warn diners.

How it looks · Photo: Malte Luk on Pexels
About this dish
- Origin
- Paris, France · Commonly attributedAlso popular in United StatesMore food from France
- Dish
- Lunch · Dinner · Soups · Main courses
- Cooking method
- Sautéed, Simmered, Broiled / grilled under heat
- Taste
- sweet & savoury, umami, rich
- Diet
- No nut ingredients · High-proteinWith the listed swaps: Vegetarian (lacto-ovo), Eggetarian, Lacto-vegetarian, Pescatarian, Beef-freeWorked out from the ingredients. How labels work
All labels
Non-vegetarian · Flexitarian-friendly · Egg-free · No nut ingredients · No added sugar · Pork-free · High-protein - Good for
- Make-ahead
- Cook more with
- Onion · Beef stock · Gruyère · Butter · All-purpose flour · Dry white wine
Allergens
- Contains: Milkfrom butter, gruyère
- Contains: Wheatfrom all-purpose flour, crusty bread / baguette
- Contains: Glutenfrom all-purpose flour, crusty bread / baguette
- May contain: Sesamefrom crusty bread / baguette
- May contain: Celeryfrom beef stock
- Contains: Sulphitesfrom dry white wine
Based on typical versions of these ingredients and not verified allergen-free. Brands differ and cross-contact happens, so always check labels. For severe allergies, follow your clinician’s advice.
Nutrition
529 kcal per serving
Calculated1 serving ≈ 677 g · recipe makes 4
Where the energy comes from
- Protein 19%
- Carbohydrate 37%
- Fat 44%
| Nutrient | Per serving | Per 100 g* |
|---|---|---|
| Energy | 529 kcal | 78 kcal |
| Protein | 24 g | 3.5 g |
| Carbohydrate | 48 g | 7.1 g |
| Net carbohydrate | 42.8 g | 6.3 g |
| Sugars | 14.3 g | 2.1 g |
| Added sugars | 0 g | 0 g |
| Fibre | 5.2 g | 0.8 g |
| Fat | 25 g | 3.7 g |
| Saturated fat | 13.1 g | 1.9 g |
| Trans fat | — | — |
| Cholesterol | 63 mg | 9 mg |
| Sodium | 1731 mg | 256 mg |
| Salt equivalent | 4.3 g | 0.6 g |
Vitamins & minerals per serving
- Potassium
- 1029 mg
- Calcium
- 489 mg
- Iron
- 3.1 mg
- Magnesium
- 76 mg
- Vitamin A (RAE)
- 171 µg
- Vitamin C
- 19 mg
- Vitamin D
- 0.2 µg
- Vitamin B12
- 0.6 µg
- Folate (DFE)
- 123 µg
How these numbers were made
- Calculated from USDA FoodData Central (SR Legacy) per-100 g values and the listed quantities.
- *Per 100 g of combined raw ingredients; the cooked dish may weigh more or less.
- “—” means the value isn’t known for enough of the ingredients; it is never zero by default.
- Values are estimates for guidance, not for medical dosing. U.S. Department of Agriculture, Agricultural Research Service. FoodData Central, 2019. fdc.nal.usda.gov.
Good to know
Tips
- Patience is the main ingredient: properly caramelised onions take at least 45 minutes.
Common mistakes
- Turning up the heat to rush the onions, which burns rather than caramelises them.
Storage
- The soup (without bread and cheese) keeps 4 days in the fridge or 3 months frozen.
Reheating
- Reheat the soup, then add toast and cheese and grill.
Original editorial recipe · FriendsPantry editorial · Not yet independently reviewed · Added · Updated
Recipe DNA
How this dish is built
Grouped by each ingredient’s role in the dish. Each band’s width is its share of the dish by weight. Choose a component to see what it does.
What the dish is built around
Main ingredient
- Onion, thinly sliced1 kg · 1000 g
- Butter40 g
- All-purpose flour1 tbsp · 7.8 g
- Crusty bread / baguette, toasted4 slice · 140 g
- Gruyère, grated150 g
Reviews & corrections
Reviews come from signed-in cooks and appear after a moderator checks them. We never show made-up ratings.
You might also like

Boeuf bourguignon
French · 4 h · 625 kcal
Hachis parmentier
French · 1 h 20 min · 506 kcal
Ratatouille
French · 1 h 20 min · 276 kcal · Vegan
Coq au vin
French · 1 h 35 min · 773 kcal