Rich, savory, and super satisfying — without the heavy calories.
This version of French onion soup levels up the protein by adding lean ground beef while keeping all the comforting caramelized onion goodness.
Topped with melty cheese and optionally toasted bread or savory low-carb crumb topping, it’s a hearty bowl that feels indulgent but fits your wellness goals.
The rich, savory broth and tender onions create a cozy, satisfying meal that’s perfect for colder nights or when you’re craving classic comfort food with a healthier twist.
🧂 Ingredients
Serves: 2
- 1/2 lb (about 225g) lean ground beef (90% lean or better)
- 1 tsp olive oil
- 2 large yellow onions, thinly sliced
- 2 cloves garlic, minced
- 1/4 tsp dried thyme
- 1/2 tsp Worcestershire sauce
- 1/4 tsp black pepper (or to taste)
- Salt to taste
- 2 1/2 cups low-sodium beef broth
- 1 tsp balsamic vinegar (optional, for depth)
- 1/2 cup shredded light mozzarella or Swiss cheese
- Optional: 1 slice toasted light bread or baguette per bowl or low-carb savory crumb topping
🍽️ Instructions
- Caramelize the Onions:
In a large pot, heat olive oil over medium-low heat. Add sliced onions and cook slowly, stirring occasionally, for about 25–30 minutes until deeply golden and caramelized. - Add Garlic and Ground Beef:
Stir in garlic and cook 1 minute. Add ground beef and break it up as it cooks. Season with thyme, salt, pepper, and Worcestershire sauce. Cook until beef is browned. - Deglaze & Simmer:
Pour in beef broth and balsamic vinegar. Bring to a gentle boil, then reduce heat and simmer for 10 minutes. - Assemble and Serve:
Divide soup into bowls. Top each with shredded cheese (and toasted bread, if using). Broil for 2–3 minutes until cheese is melty and golden, or microwave for a quicker version.
🍴Tips & Options
- Lighter Option: Use low-carb bread or skip the toast altogether and just top with cheese for a lower-carb bowl.
- Bulk it Up: Add chopped spinach, kale or riced cauliflower or zucchini for more volume and fiber.
- Cheese Swap: Parmesan or light provolone works well too!