Keto French Onion Soup

All the deep, caramelized comfort of classic French onion soup made keto-friendly at just 7.5g net carbs per serving. Slow-cooked onions in rich beef broth, topped with a bubbling Gruyere crust over a toasted almond-flour crouton. Ready in about 1 hour 5 minutes.

Jordan Lee
Jordan Lee

Head of Nutrition · June 17, 2026

Keto French Onion Soup
15 min
Prep
50 min
Cook
1 hr 5 min
Ready in
4
Servings
Intermediate
Difficulty

Nutrition per serving

7.5g
Net carbs
2g
Fiber
9.5g
Total carbs
16g
Protein
26g
Fats
342
Calories

Per serving · makes 4. Values are estimates; brands vary.

dinnerlow carbvegetariangluten freecomfort food

This keto French onion soup delivers all the cozy, caramelized depth of the bistro classic without the carb-heavy baguette. Slow-cooked onions, rich beef bone broth, and a blistered Gruyere crust make it a soul-warming low-carb dinner.

Ingredients

  • 3 tablespoons unsalted butter
  • 1 tablespoon extra-virgin olive oil
  • 2 medium yellow onions (about 12 oz total), thinly sliced
  • 2 cloves garlic, minced
  • 1 teaspoon fresh thyme leaves (or 1/2 teaspoon dried)
  • 1/4 cup dry red wine (optional, for deglazing)
  • 5 cups beef bone broth (low-sodium)
  • 1 tablespoon Worcestershire sauce
  • 1 bay leaf
  • Salt and black pepper, to taste
  • 4 oz Gruyere cheese, shredded (about 1 cup)
  • 4 keto almond-flour crackers or 4 slices keto bread, toasted (optional, for topping)

Instructions

  1. 1

    Melt the butter with the olive oil in a heavy-bottomed pot or Dutch oven over medium-low heat. Add the sliced onions and a pinch of salt, stirring to coat.

  2. 2

    Cook the onions low and slow for 30-35 minutes, stirring every few minutes, until deeply golden brown and jammy. Lower the heat if they start to scorch — patient caramelization is what builds the flavor.

  3. 3

    Add the garlic and thyme and cook 1 minute until fragrant. Pour in the red wine (if using) and scrape up the browned bits from the bottom of the pot, simmering until nearly evaporated.

  4. 4

    Add the beef bone broth, Worcestershire sauce, and bay leaf. Bring to a simmer and cook uncovered for 15 minutes. Remove the bay leaf and season with salt and pepper to taste.

  5. 5

    Heat the broiler. Ladle the soup into 4 oven-safe bowls, top each with a toasted keto crouton (if using), and pile the shredded Gruyere over the top.

  6. 6

    Broil 2-4 minutes until the cheese is melted, bubbling, and golden. Serve immediately, watching for hot bowls.

Tips & notes

  • The single most important step is caramelizing the onions slowly — rushing on high heat burns them and turns the soup bitter. Keep the heat low and stir often.
  • Skip the crouton entirely to drop the net carbs further, or use a low-carb cheese crisp as the base. The cheese alone melts beautifully right on the soup.
  • Store leftover soup (without the cheese topping) in the fridge up to 4 days. Reheat, add fresh cheese, and broil just before serving.

Log this recipe in one tap

Save keto french onion soup to CarbMeNot and track its 7.5g net carbs against your daily budget automatically.

Download on the App Store

Frequently asked questions

How many carbs are in keto french onion soup?
Each serving has 7.5g net carbs (9.5g total carbs minus 2g fiber), 342 calories, 16g protein, and 26g fat. This recipe makes 4 servings, with most of the carbs coming from the caramelized onions.
Why is regular French onion soup not keto?
Traditional versions use a thick slice of crusty baguette and sometimes flour to thicken the broth, both high in carbs. This keto version swaps the baguette for a toasted almond-flour crouton (or skips it) and relies on slow-caramelized onions and rich bone broth for body.
Can I make this dairy-free?
Yes — use olive oil or a vegan butter in place of butter, and top with a dairy-free melting cheese. The flavor base comes from the caramelized onions and beef broth, so it still tastes rich without the Gruyere.

More keto recipes