French Onion Soup (Lighter on Onions)
Slowly caramelized onions in a rich beef broth under a bubbling layer of Gruyère. It uses fewer onions than the classic and no bread.
Nutrition per serving
1 cup- Net carbs
- 6.8g
- Calories
- 271kcal
- Protein
- 18g
- Fat
- 19g
- Total carbs
- 8 g
- Fiber
- 1.1 g
Calculated from USDA FoodData Central values for each ingredient (optional ingredients excluded). Brands vary — check your labels if you track closely.
Ingredients
Mushroom & onion: A third of the onions swapped for well-browned mushrooms: more body and savory depth, with slightly fewer carbs per bowl.
- Brown the mushrooms in 1 tablespoon of the butter over medium-high heat for about 8 minutes, until golden and dry, and set them aside.
- Caramelize the onions in the remaining butter as written (the smaller amount cooks a little faster), and return the mushrooms with the broth.
Vegetarian: Vegetable or mushroom broth with a splash of tamari in place of the beef broth and Worcestershire (which contains anchovies). Gruyère is often made with animal rennet, so choose a vegetarian Swiss-style cheese if that matters to you.
- Use vegetable broth throughout and the tamari in place of the Worcestershire.
- Simmer 5 minutes longer and taste — vegetable broth is lighter, so the soup may need a little more salt.
- Soup
- Cheese topping
- Nice to have (optional)
- Soup
- Cheese topping
- Also add
- Nice to have (optional)
- Soup
- Cheese topping
- Nice to have (optional)
Estimated cost $13.79 for 4 servings ($3.45 each) · how we estimate
Instructions
-
Melt the butter in a heavy-bottomed pot over medium heat. Add the onions and salt and stir to coat.
-
Cook, stirring every 3–5 minutes, for 30–40 minutes, lowering the heat if they brown too fast. When browned bits stick to the bottom, add a tablespoon of water and scrape them up. The onions are ready when they're soft, jammy and a deep amber-brown.
-
Stir in the garlic for 30 seconds, then add the wine (if using) and let it bubble until almost evaporated, scraping the bottom of the pot.
-
Add the beef and chicken broth, thyme, bay leaf, Worcestershire and pepper. Simmer gently, partly covered, for 20 minutes. Remove the thyme stems and bay leaf and taste for salt.
-
Heat the broiler with a rack about 6 inches (15 cm) below it. Ladle the soup into 4 oven-safe crocks set on a baking sheet.
-
Top each bowl with a thick layer of Gruyère and a sprinkle of parmesan, letting the cheese hang over the rim. Broil 2–4 minutes until bubbling and browned in spots. Serve carefully — the bowls will be very hot.
Tips for success
-
An honest note on onions: they're moderate on keto, so this version uses about 60 g of raw onion per bowl, roughly a third of a classic recipe. The result is a brothier soup with deep caramelized flavor rather than a thick tangle of onions.
-
No oven-safe bowls? Bake the cheese as crisps instead — 2-tablespoon mounds on parchment at 400°F (200°C) for 6–8 minutes until lacy and golden — and float one on each bowl. A few keto croutons under the cheese stand in for the traditional bread.
-
Don't rush the caramelizing with high heat. Scorched onions taste bitter, and low, steady heat is what gives the soup its sweet, savory depth.
Nice to have, not needed
- Oven-safe crocks give the classic bubbling cheese lid — without them, float a baked cheese crisp on each bowl.
Storage & meal prepMeal-prep friendly
- Keeps 4 days in the fridge
- Freezes up to 3 months
Reheat: Reheat the soup until simmering, then add the cheese and broil — or float a baked cheese crisp on top.
Prep tip: Caramelize a double batch on a slow afternoon and freeze the soup (without the cheese) in single portions.
Refrigerate the soup without the cheese up to 4 days, or freeze up to 3 months. Reheat, then add the cheese topping just before serving.
Variations
2 variations, each with its own ingredients and macrosMushroom & onion
VeggiesA third of the onions swapped for well-browned mushrooms: more body and savory depth, with slightly fewer carbs per bowl.
- yellow onions → yellow onions
- + 8 oz cremini mushrooms
6.6 g net · 276 kcal · 20 g protein · 19 g fat · ≈$3.96 per serving (−0.2 g net carbs vs the original)
Vegetarian
DietVegetable or mushroom broth with a splash of tamari in place of the beef broth and Worcestershire (which contains anchovies). Gruyère is often made with animal rennet, so choose a vegetarian Swiss-style cheese if that matters to you.
- beef broth → mushroom or vegetable broth
- chicken broth → vegetable broth
- Worcestershire sauce → tamari
8 g net · 246 kcal · 11 g protein · 19 g fat · ≈$1.72 per serving (+1.2 g net carbs vs the original)
Save it for later
Pin this recipe to your keto board so it’s there when you plan next week.
Save to Pinterest