I reimagined Zuppa Toscana Soup as a low carb keto version that swaps potatoes for cauliflower and includes a clever technique that yields a classic-style broth using only keto ingredients.

I love riffing on Zuppa Toscana Soup because it feels familiar but somehow smarter. This Low Carb Soup Recipes take is full of savory depth from crispy bacon and tender cauliflower, all wrapped in a silky base that seems to hide tricks.
I’m always finding tiny twists that make it feel new, little things that make you second guess what soup can be on a keto plan. Sometimes I cant predict which spoonful will surprise me, and I swear there’s a flavor pop that makes you reach for more.
Its the kind of bowl you keep thinking about.
Ingredients

- Bacon: salty smoky fat adds flavor, some protein but high in saturated fat.
- Italian sausage: spicy meaty protein, adds richness and salt, it’s often high in fat.
- Cauliflower: low carb, fiber and vitamin C, gives creamy texture when blended ya know.
- Spinach: leafy green full of iron and vitamins, it adds color and mild bite.
- Heavy cream: rich and silky, gives body and mouthfeel but kinda calorie dense.
- Cream cheese: optional tang, makes soup velvety, adds more fat and calories.
- Parmesan: nutty salty umami, gives savory depth and extra protein.
- Onion and garlic: build savory base, give antioxidants and sweet caramel notes.
Ingredient Quantities
- 8 slices bacon, chopped (about 8 ounces)
- 1 pound Italian sausage casings removed
- 1 medium yellow onion, diced
- 3 cloves garlic, minced
- 1 medium head cauliflower cut into florets (about 4 cups)
- 4 cups chicken broth
- 1 cup heavy cream
- 4 ounces cream cheese softened (optional)
- 4 cups fresh baby spinach
- 1/2 cup freshly grated Parmesan cheese
- 1 teaspoon Italian seasoning
- 1/4 teaspoon crushed red pepper flakes or to taste
- Salt and freshly ground black pepper to taste
- 1 tablespoon olive oil or reserved bacon drippings
How to Make this
1. Chop the bacon and cook it in a large pot over medium heat until crisp, about 8 minutes; scoop most of it out with a slotted spoon and set aside, but leave about 1 to 2 tablespoons of the drippings in the pot and save a few pieces of bacon for garnish.
2. Add the Italian sausage (casings removed) to the same pot and brown, breaking it up with a spoon until no pink remains, about 6 to 8 minutes; remove the sausage to the plate with the bacon and leave the flavorful drippings in the pot.
3. If the pot is dry add 1 tablespoon olive oil or a little of the reserved bacon drippings, then add the diced onion and cook until soft and translucent, about 4 minutes; stir in the minced garlic, 1 teaspoon Italian seasoning and 1 4 teaspoon crushed red pepper flakes and cook 30 seconds until fragrant.
4. Add the cauliflower florets to the pot, pour in 4 cups chicken broth, return the browned sausage to the pot, season with salt and pepper, bring to a simmer and cook until the cauliflower is very tender, about 10 to 12 minutes.
5. Partially puree the soup to thicken the broth while leaving texture: use an immersion blender right in the pot and pulse a few times, or scoop about half the soup into a blender and pulse, then return it. If you dont have either, mash some florets with a potato masher.
6. Lower the heat and stir in 4 ounces softened cream cheese if using, then pour in 1 cup heavy cream and heat gently, do not boil, until the cream cheese is melted and the soup is smooth and slightly thickened.
7. Stir in 4 cups fresh baby spinach and 1 2 cup freshly grated Parmesan cheese until the spinach wilts and the cheese melts into the broth.
8. Taste and adjust salt, pepper and crushed red pepper flakes to your liking; add a bit more Italian seasoning if you want.
9. Stir most of the reserved crispy bacon back into the pot to warm it through, save a little for topping, then ladle the soup into bowls and sprinkle with the remaining bacon and extra Parmesan if you like.
Equipment Needed
1. Large heavy bottomed pot or Dutch oven (6 to 8 qt) for browning and simmering
2. Slotted spoon to scoop out the crisp bacon
3. Chef’s knife for chopping bacon, onion and cauliflower
4. Cutting board
5. Wooden spoon or heatproof spatula to break up the sausage and stir
6. Measuring cups and measuring spoons
7. Immersion blender, or a regular blender plus jar, or a potato masher if you dont have either
8. Ladle for serving and a box grater or microplane for the Parmesan
FAQ
Zuppa Toscana Soup Recipe Substitutions and Variations
- Bacon: Pancetta or guanciale for that same porky, salty hit; turkey bacon if you want less fat; olive oil plus a pinch of smoked paprika if you need a no-pork option.
- Italian sausage: Ground pork mixed with 1 tsp fennel seed and a pinch red pepper for homemade Italian flavor; chicken or turkey sausage for a leaner swap; plant-based Italian sausage if you want vegetarian friendly.
- Cauliflower: Russet or Yukon Gold potatoes for a classic Zuppa Toscana texture; broccoli florets for a similar bite; parsnips for a slightly sweet root-veg note.
- Heavy cream / cream cheese: Half and half plus 2 tbsp melted butter per cup as a heavy cream stand-in; full-fat coconut milk for dairy-free; mascarpone or plain full-fat Greek yogurt instead of cream cheese, or just puree some cooked cauliflower for creaminess.
Pro Tips
1) Slow render the bacon — cook it low to medium so you get clear flavorful fat and not burnt bits, then crisp the pieces in a hot oven right before serving so they stay crunchy. Save most of the drippings, theyre liquid gold for browning the sausage and onions.
2) Brown the sausage in batches so it actually gets a good sear, scrape up those browned bits and deglaze with a splash of broth or white wine to pull that flavor into the soup. Removing the meat while you cook the veg keeps it from overcooking later.
3) For deeper cauliflower flavor roast half the florets on a sheet pan until golden, then add them to the pot; roast gives a nutty, caramelized note that boiling wont. If you want faster prep roast everything ahead and stash in the fridge.
4) Dont over-blend the soup or it can go gluey; pulse with an immersion blender and leave some texture, or only puree half. If it ends up too thin, simmer uncovered to reduce or stir in a small peeled cooked potato for body.
5) Finish smart — add spinach off the heat so it stays bright, stir Parmesan in a little at a time and taste, and a tiny squeeze of lemon or splash of vinegar will cut the richness. Re-crisp bacon bits in a dry pan just before serving and reheat leftovers gently so the cream doesnt separate.

Zuppa Toscana Soup Recipe
I reimagined Zuppa Toscana Soup as a low carb keto version that swaps potatoes for cauliflower and includes a clever technique that yields a classic-style broth using only keto ingredients.
6
servings
741
kcal
Equipment: 1. Large heavy bottomed pot or Dutch oven (6 to 8 qt) for browning and simmering
2. Slotted spoon to scoop out the crisp bacon
3. Chef’s knife for chopping bacon, onion and cauliflower
4. Cutting board
5. Wooden spoon or heatproof spatula to break up the sausage and stir
6. Measuring cups and measuring spoons
7. Immersion blender, or a regular blender plus jar, or a potato masher if you dont have either
8. Ladle for serving and a box grater or microplane for the Parmesan
Ingredients
8 slices bacon, chopped (about 8 ounces)
1 pound Italian sausage casings removed
1 medium yellow onion, diced
3 cloves garlic, minced
1 medium head cauliflower cut into florets (about 4 cups)
4 cups chicken broth
1 cup heavy cream
4 ounces cream cheese softened (optional)
4 cups fresh baby spinach
1/2 cup freshly grated Parmesan cheese
1 teaspoon Italian seasoning
1/4 teaspoon crushed red pepper flakes or to taste
Salt and freshly ground black pepper to taste
1 tablespoon olive oil or reserved bacon drippings
Directions
- Chop the bacon and cook it in a large pot over medium heat until crisp, about 8 minutes; scoop most of it out with a slotted spoon and set aside, but leave about 1 to 2 tablespoons of the drippings in the pot and save a few pieces of bacon for garnish.
- Add the Italian sausage (casings removed) to the same pot and brown, breaking it up with a spoon until no pink remains, about 6 to 8 minutes; remove the sausage to the plate with the bacon and leave the flavorful drippings in the pot.
- If the pot is dry add 1 tablespoon olive oil or a little of the reserved bacon drippings, then add the diced onion and cook until soft and translucent, about 4 minutes; stir in the minced garlic, 1 teaspoon Italian seasoning and 1 4 teaspoon crushed red pepper flakes and cook 30 seconds until fragrant.
- Add the cauliflower florets to the pot, pour in 4 cups chicken broth, return the browned sausage to the pot, season with salt and pepper, bring to a simmer and cook until the cauliflower is very tender, about 10 to 12 minutes.
- Partially puree the soup to thicken the broth while leaving texture: use an immersion blender right in the pot and pulse a few times, or scoop about half the soup into a blender and pulse, then return it. If you dont have either, mash some florets with a potato masher.
- Lower the heat and stir in 4 ounces softened cream cheese if using, then pour in 1 cup heavy cream and heat gently, do not boil, until the cream cheese is melted and the soup is smooth and slightly thickened.
- Stir in 4 cups fresh baby spinach and 1 2 cup freshly grated Parmesan cheese until the spinach wilts and the cheese melts into the broth.
- Taste and adjust salt, pepper and crushed red pepper flakes to your liking; add a bit more Italian seasoning if you want.
- Stir most of the reserved crispy bacon back into the pot to warm it through, save a little for topping, then ladle the soup into bowls and sprinkle with the remaining bacon and extra Parmesan if you like.
Notes
- Below you’ll find my best estimate of this recipe’s nutrition facts. Treat the numbers as a guide rather than a rule—great food should nourish both body and spirit. Figures are approximate, and the website owner assumes no liability for any inaccuracies in this recipe.
Nutrition Facts
- Serving Size: 450g
- Total number of serves: 6
- Calories: 741kcal
- Fat: 68g
- Saturated Fat: 30g
- Trans Fat: 0.5g
- Polyunsaturated: 6.7g
- Monounsaturated: 31g
- Cholesterol: 191mg
- Sodium: 2250mg
- Potassium: 500mg
- Carbohydrates: 8.5g
- Fiber: 2.2g
- Sugar: 1.7g
- Protein: 27.5g
- Vitamin A: 1900IU
- Vitamin C: 38mg
- Calcium: 137mg
- Iron: 1.7mg











