
Disclaimer: Nutrition values are estimates only and can vary based on specific ingredients and brands used. This information is not a substitute for advice from a registered dietitian or medical professional.
There’s something about a bowl of French onion soup that feels like a hug in food form, sweet, slow-cooked onions swimming in a deep savory broth, capped with a blanket of melted, golden cheese. The problem is the classic version leans on a baguette crouton to soak everything up, which is exactly what a low-carb or keto eater doesn’t need.
This Keto French Onion Soup skips the bread entirely and doesn’t miss it. The magic was never really in the bread — it’s in the caramelization. Cook the onions low and slow until they turn deep amber and jammy, build the broth with real beef stock and a splash of dry wine, then finish it under the broiler with a thick cap of melty Gruyère. You get every bit of the comfort, at a fraction of the carbs.
It’s a great make-ahead dinner for chilly nights, an easy way to use up a bag of onions, and forgiving enough for a weeknight even though the classic version has a reputation for being fussy.
Why This Recipe Works
- Long, slow caramelization is non-negotiable — it’s what replaces the sweetness and depth a starchy baguette would normally add.
- Beef bone broth gives the soup a richer, more gelatinous body than regular stock, which makes it feel more satisfying without added carbs.
- A xanthan gum pinch (optional) lightly thickens the broth so it clings to the onions instead of tasting watery, without any flour.
- Broiler-melted Gruyère and Parmesan create that iconic bubbly, browned cheese cap that makes this dish feel like a restaurant order.

Ingredients
- 3 tablespoons butter or ghee
- 2 tablespoons olive oil
- 4 large yellow onions, thinly sliced (about 2.5 lbs)
- 1 teaspoon salt, plus more to taste
- 1 teaspoon sugar-free brown sugar substitute (optional, helps caramelization)
- 2 cloves garlic, minced
- 1/4 cup dry white wine or dry sherry (optional, can substitute broth)
- 6 cups beef bone broth
- 2 teaspoons fresh thyme leaves (or 1/2 teaspoon dried)
- 1 bay leaf
- 1 tablespoon Worcestershire sauce (check label for sugar content)
- 1/4 teaspoon xanthan gum (optional, for body)
- Black pepper, to taste
- 8 oz Gruyère cheese, shredded
- 1/2 cup grated Parmesan cheese
How to Make Keto French Onion Soup
- Caramelize the onions. Melt the butter with the olive oil in a large Dutch oven over medium heat. Add the sliced onions and 1 teaspoon salt. Cook, stirring occasionally, for 35–45 minutes, until deeply golden brown and jammy. Stir in the sugar substitute halfway through to help browning. Lower the heat if they start to catch.
- Build the base. Add the garlic and cook for 1 minute until fragrant. Pour in the wine (if using) and scrape up any browned bits from the bottom of the pot.
- Simmer the broth. Add the beef bone broth, thyme, bay leaf, and Worcestershire sauce. Bring to a simmer and cook uncovered for 15–20 minutes to let the flavors meld. If using xanthan gum, whisk it in during the last few minutes to lightly thicken the broth. Remove the bay leaf and season with pepper and extra salt to taste.
- Broil with cheese. Preheat the broiler. Ladle the soup into oven-safe bowls, top generously with Gruyère and a dusting of Parmesan, and broil for 2–4 minutes until bubbling and browned in spots. Watch closely so the cheese doesn’t burn.
- Serve hot, ideally with a low-carb bread slice on the side if you want something to dip.
Nutrition Profile (Per Serving, Serves 6)
| Nutrient | Amount |
|---|---|
| Calories | 310 kcal |
| Total Fat | 23g |
| Saturated Fat | 12g |
| Total Carbohydrates | 9g |
| Fiber | 2g |
| Net Carbs | 7g |
| Protein | 16g |
| Sodium | 890mg |

Values are estimates based on standard ingredient databases and will vary depending on specific brands and broth used.
Nutrition Notes
- Onions are one of the higher-carb vegetables on keto, but because they’re used mainly as a flavor base (not a bulk filler) and split across six servings, the carb load per bowl stays reasonable.
- Bone broth adds collagen and a bit of extra protein compared to standard beef stock, which can help this soup feel more filling on its own as a light meal.
- The cheese topping carries most of the fat and a good share of the protein, so if you’re tracking macros closely, weigh your cheese portion rather than eyeing it.
- Watch the Worcestershire sauce and any “sugar-free” substitutes — some brands sneak in more carbs than expected, so check labels if you’re being strict about net carbs.
Tips for the Best Results
- Don’t rush the onions. True caramelization takes at least 35 minutes of patient, low-and-slow cooking. Turning up the heat to speed things up will give you browned, not caramelized, onions — and a flatter-tasting soup.
- Use a heavy-bottomed pot like a Dutch oven so the onions cook evenly without scorching in spots.
- Deglaze well. Those browned bits stuck to the pot after the onions and wine are where a lot of the flavor lives — scrape them up fully.
- Go easy on added salt until the end, since both the broth and Worcestershire sauce already carry a good amount of sodium.
- Make it ahead. The soup base (before the cheese step) actually tastes better the next day, once the flavors have had time to sit. Store it in the fridge and broil fresh cheese on top when you’re ready to serve.
- Freeze in portions. The soup base freezes well for up to 3 months — just add the cheese topping fresh after reheating.

Frequently Asked Questions
Is French onion soup keto-friendly? Traditional French onion soup isn’t strictly keto because of the baguette crouton and sometimes flour-thickened broth. This version removes the bread and any flour, relying on slow-caramelized onions and a cheese topping instead, which brings it down to around 7g net carbs per serving.
Can I make this soup dairy-free? The broth base itself is dairy-free once you skip the butter (use olive oil instead). The cheese topping is trickier to replace and still get that same melty, bubbly texture, but a dairy-free mozzarella-style shred can work in a pinch.
What can I use instead of xanthan gum to thicken it? Xanthan gum is optional here since the long-cooked onions already add some natural body. If you want extra thickness, a small pat of cold butter whisked in at the end (a beurre manié without the flour) can help without adding carbs.
Can I make this soup in a slow cooker? You can caramelize the onions on the stovetop first for the best flavor, then transfer everything to a slow cooker with the broth and seasonings and cook on low for 4–6 hours. Finish under the broiler in oven-safe bowls just before serving.
How long does keto French onion soup last in the fridge? The soup base keeps well in an airtight container for up to 4 days. Add fresh cheese and broil each portion right before eating rather than storing it already topped.
What onions caramelize best for this recipe? Yellow onions are the classic choice for their balance of sweetness and structure when cooked low and slow. Sweet onions like Vidalia work too and caramelize a little faster, while red onions can turn the broth an unappealing color.

Keto French Onion Soup (Low-Carb, Ready in 45 Minutes)
Ingredients
Equipment
Method
- Melt the butter with the olive oil in a large Dutch oven over medium heat. Add the sliced onions and 1 teaspoon salt. Cook, stirring occasionally, for 35–45 minutes, until deeply golden brown and jammy. Stir in the sugar substitute halfway through to help browning. Lower the heat if they start to catch.
- Add the garlic and cook for 1 minute until fragrant. Pour in the wine (if using) and scrape up any browned bits from the bottom of the pot.
- Add the beef bone broth, thyme, bay leaf, and Worcestershire sauce. Bring to a simmer and cook uncovered for 15–20 minutes to let the flavors meld. If using xanthan gum, whisk it in during the last few minutes to lightly thicken the broth. Remove the bay leaf and season with pepper and extra salt to taste.
- Preheat the broiler. Ladle the soup into oven-safe bowls, top generously with Gruyère and a dusting of Parmesan, and broil for 2–4 minutes until bubbling and browned in spots. Watch closely so the cheese doesn’t burn.
- ideally with a low-carb bread slice on the side if you want something to dip.
Video
Notes
Final Thought
This Keto French Onion Soup proves you don’t need a baguette to get that deep, cozy, cheese-topped bowl everyone loves, just patience with the onions and a good melty cheese finish. Make a big batch, freeze the base in portions, and you’ll have a low-carb comfort meal ready to go on any night you need one.
