Keto Cauliflower Zuppa Toscana Soup

If you ask me, keto soups are one of the best ways to stay satisfied on a low-carb diet.

This hearty Italian-inspired soup brings together spicy sausage, crispy bacon, and tender cauliflower in a rich, creamy broth. Fresh spinach and garlic add depth, while heavy cream makes everything luxurious.

It’s a one-pot wonder that comes together in about 30 minutes. The cauliflower florets stand in for potatoes, keeping it keto-friendly without sacrificing that comfort food feel.

Top each bowl with freshly grated Parmesan cheese and you’ve got a filling dinner that’ll warm you up on any cold evening.

keto zuppa toscana soup with cauliflower and spinach
Image: mollyshomeguide.com / Photographer Molly
SAVE NOW

Why You’ll Love This Keto Zuppa Toscana Soup

  • Keto-friendly comfort food – This soup swaps traditional potatoes for cauliflower, keeping it low-carb while still delivering that creamy, satisfying texture you crave from the classic Olive Garden favorite.
  • Ready in under an hour – You can have this hearty soup on the table in about 40-55 minutes, making it perfect for busy weeknights when you want something warm and filling.
  • Packed with flavor – The combination of spicy Italian sausage, crispy bacon, and rich heavy cream creates layers of taste that make every spoonful delicious.
  • High in protein and healthy fats – With sausage, bacon, and heavy cream, this soup keeps you full and satisfied while fitting perfectly into your low-carb lifestyle.
  • Simple ingredients – Everything you need is easy to find at any grocery store, with no fancy or hard-to-source items required.

What Kind of Sausage Should I Use?

Italian hot sausage is the star of this soup, and you’ve got a few options depending on your heat preference. If you like things spicy, stick with hot Italian sausage, but if you’re feeding kids or prefer a milder flavor, sweet Italian sausage works just as well. You can find Italian sausage in links or in bulk form – either one will do the job, though bulk sausage is a bit easier to work with since you don’t have to remove the casings. Just make sure you’re getting a good quality sausage with plenty of seasoning, as that’s what gives this soup its signature flavor.

keto zuppa toscana soup with cauliflower and spinach
Image: mollyshomeguide.com / Photographer Molly
SAVE NOW

Options for Substitutions

This keto-friendly soup is pretty forgiving when it comes to swaps:

  • Italian hot sausage: If you prefer less heat, go with mild Italian sausage instead. You can also use ground pork seasoned with Italian herbs, fennel seeds, and red pepper flakes to taste.
  • Bacon: Turkey bacon works if you’re looking for a lighter option, though it won’t give you quite the same smoky richness. Pancetta is another tasty alternative.
  • Cauliflower: This is the keto stand-in for potatoes, so I wouldn’t swap it out if you’re keeping things low-carb. But if you’re not worried about carbs, you can use diced russet or red potatoes instead – just add them earlier in the cooking process since they take longer to soften.
  • Heavy cream: Half-and-half can work in a pinch, though your soup won’t be quite as rich. For a dairy-free version, try full-fat coconut cream, but add it at the end and don’t let it boil.
  • Spinach: Kale is the traditional choice for Zuppa Toscana and works great here. Just remove the tough stems and tear it into bite-sized pieces. Swiss chard is another good option.
  • Chicken broth: Vegetable broth works fine if that’s what you have, though you’ll lose a bit of that savory depth.

Watch Out for These Mistakes While Cooking

The biggest mistake people make with this soup is adding the spinach too early, which turns it into a dark, mushy mess – always add it at the very end with the heat off so it wilts perfectly while keeping its color and texture.

Another common error is not draining enough fat after cooking the bacon and sausage, leaving you with a greasy soup that separates, so take an extra minute to remove most of the rendered fat before adding your onions.

Be careful not to let the soup boil once you’ve added the heavy cream, as high heat can cause the cream to curdle and break – keep it at a gentle simmer to maintain that smooth, creamy consistency.

Finally, cut your cauliflower into bite-sized pieces that are roughly the same size so they cook evenly in those 10 minutes, and if you want extra flavor, try browning the sausage really well to get those crispy bits that add depth to the broth.

keto zuppa toscana soup with cauliflower and spinach
Image: mollyshomeguide.com / Photographer Molly
SAVE NOW

What to Serve With Zuppa Toscana?

This hearty soup is pretty filling on its own thanks to all the sausage and cauliflower, but I love serving it with some cheesy garlic bread or a simple side salad to round out the meal. If you’re sticking to keto, try making some almond flour biscuits or cloud bread for dipping – they soak up the creamy broth perfectly without adding extra carbs. A crisp Caesar salad also pairs really well with the rich, savory flavors of the soup, and the crunch is a nice contrast to the tender cauliflower and spinach. For an easy weeknight dinner, just grab some rotisserie chicken to shred on top if you want even more protein.

Storage Instructions

Store: This soup tastes even better the next day after all the flavors have had time to mingle. Keep it in an airtight container in the fridge for up to 4 days. Just know that the spinach might darken a bit, but the taste is still great.

Freeze: You can freeze this soup, but I’d recommend leaving out the heavy cream until you’re ready to serve. The cream can sometimes separate when frozen and thawed. Store it in freezer-safe containers for up to 3 months, then stir in fresh cream when reheating.

Reheat: Warm it up gently on the stovetop over medium-low heat, stirring occasionally. If you’re using the microwave, heat it in short intervals and stir in between to keep the cream from separating. Add a splash of chicken broth if it seems too thick after storing.

Preparation Time 15-20 minutes
Cooking Time 25-35 minutes
Total Time 40-55 minutes
Level of Difficulty Easy
Servings 6 servings

Estimated Nutrition

Estimated nutrition for the whole recipe (without optional ingredients):

  • Calories: 2700-3000
  • Protein: 110-130 g
  • Fat: 230-260 g
  • Carbohydrates: 55-65 g

Ingredients

For the meat base:

  • 5 slices bacon (chopped)
  • 16 oz Italian hot sausage (removed from casing)

For the soup:

  • 7 garlic cloves (minced)
  • 1 tsp sea salt
  • 1 white onion (diced into 1/4-inch pieces)
  • 1 cup heavy cream (I use Organic Valley for best richness)
  • 2 cauliflower stalks (cut into bite-sized florets)
  • 1/2 tsp black pepper (freshly ground preferred)
  • 12 oz spinach (fresh or frozen)
  • 6 cups chicken broth

For the garnish:

  • Parmesan cheese (freshly grated, about 1/4 cup per serving)

Step 1: Render Bacon and Brown Sausage

  • 5 slices bacon
  • 16 oz Italian hot sausage

Chop the bacon and add it to a large pot over medium-high heat.

Cook for about 5 minutes until the bacon is crispy and has rendered its fat.

Remove the bacon with a slotted spoon and set aside, leaving about 2 tablespoons of bacon fat in the pot.

Add the Italian sausage (removed from casing) to the same pot and break it into small pieces as it cooks, about 5 minutes, until it’s browned and cooked through.

The rendered fat from both meats will create a flavorful base for the soup.

Remove the cooked sausage and bacon to a plate and set aside.

Step 2: Build the Aromatic Base

  • 1 white onion
  • 7 garlic cloves

In the same pot with the rendered fat, add the diced white onion and sauté for about 5 minutes until softened and translucent.

Add the minced garlic and stir constantly for 2 minutes until fragrant—this is where the flavor foundation really develops.

I like to keep the heat at medium to medium-high at this stage so the garlic becomes aromatic without burning, which would make it bitter.

Step 3: Simmer the Cauliflower and Build the Broth

  • 6 cups chicken broth
  • 2 cauliflower stalks
  • 1 tsp sea salt
  • 1/2 tsp black pepper

Pour in the chicken broth and bring to a simmer.

Add the cauliflower florets (cut into bite-sized pieces), sea salt, and freshly ground black pepper.

Simmer for about 10 minutes until the cauliflower is just tender but still holds its shape.

This timing is crucial—we want the cauliflower cooked through but not mushy, which maintains the soup’s texture and appeal.

Step 4: Reintroduce the Meats and Cream

  • cooked bacon and sausage from Step 1
  • 1 cup heavy cream

Return the cooked bacon and sausage from Step 1 back into the pot with the simmering broth.

Pour in the heavy cream and stir to combine evenly throughout the soup.

Simmer gently for about 5 minutes, allowing the cream to warm through and meld with the broth and meat flavors.

I prefer using high-quality cream like Organic Valley because it has more fat and creates a richer, more luxurious mouthfeel in the finished soup.

Step 5: Finish with Spinach

  • 12 oz spinach

Turn off the heat and immediately add the fresh or frozen spinach to the pot.

Stir gently for about 2 minutes off the heat—this residual heat wilts the spinach perfectly without overcooking it or losing its vibrant color and nutrients.

If using frozen spinach, thaw it first and squeeze out excess moisture to prevent the soup from becoming watery.

Step 6: Serve and Garnish

  • Parmesan cheese

Ladle the hot soup into bowls and top generously with freshly grated Parmesan cheese—about 1/4 cup per serving.

The warm soup will slightly soften the cheese, creating a creamy texture.

Serve immediately while the soup is hot and the flavors are at their peak.

keto zuppa toscana soup with cauliflower and spinach

Keto Cauliflower Zuppa Toscana Soup

Delicious Keto Cauliflower Zuppa Toscana Soup recipe with step-by-step instructions.
Prep Time 15 minutes
Cook Time 30 minutes
Total Time 47 minutes
Servings 6 servings
Calories 2850 kcal

Ingredients
  

For the meat base:

  • 5 slices bacon (chopped)
  • 16 oz Italian hot sausage (removed from casing)

For the soup:

  • 7 garlic cloves (minced)
  • 1 tsp sea salt
  • 1 white onion (diced into 1/4-inch pieces)
  • 1 cup heavy cream (I use Organic Valley for best richness)
  • 2 cauliflower stalks (cut into bite-sized florets)
  • 1/2 tsp black pepper (freshly ground preferred)
  • 12 oz spinach (fresh or frozen)
  • 6 cups chicken broth

For the garnish:

  • Parmesan cheese (freshly grated, about 1/4 cup per serving)

Instructions
 

  • Chop the bacon and add it to a large pot over medium-high heat. Cook for about 5 minutes until the bacon is crispy and has rendered its fat. Remove the bacon with a slotted spoon and set aside, leaving about 2 tablespoons of bacon fat in the pot. Add the Italian sausage (removed from casing) to the same pot and break it into small pieces as it cooks, about 5 minutes, until it's browned and cooked through. The rendered fat from both meats will create a flavorful base for the soup. Remove the cooked sausage and bacon to a plate and set aside.
  • In the same pot with the rendered fat, add the diced white onion and sauté for about 5 minutes until softened and translucent. Add the minced garlic and stir constantly for 2 minutes until fragrant—this is where the flavor foundation really develops. I like to keep the heat at medium to medium-high at this stage so the garlic becomes aromatic without burning, which would make it bitter.
  • Pour in the chicken broth and bring to a simmer. Add the cauliflower florets (cut into bite-sized pieces), sea salt, and freshly ground black pepper. Simmer for about 10 minutes until the cauliflower is just tender but still holds its shape. This timing is crucial—we want the cauliflower cooked through but not mushy, which maintains the soup's texture and appeal.
  • Return the cooked bacon and sausage from Step 1 back into the pot with the simmering broth. Pour in the heavy cream and stir to combine evenly throughout the soup. Simmer gently for about 5 minutes, allowing the cream to warm through and meld with the broth and meat flavors. I prefer using high-quality cream like Organic Valley because it has more fat and creates a richer, more luxurious mouthfeel in the finished soup.
  • Turn off the heat and immediately add the fresh or frozen spinach to the pot. Stir gently for about 2 minutes off the heat—this residual heat wilts the spinach perfectly without overcooking it or losing its vibrant color and nutrients. If using frozen spinach, thaw it first and squeeze out excess moisture to prevent the soup from becoming watery.
  • Ladle the hot soup into bowls and top generously with freshly grated Parmesan cheese—about 1/4 cup per serving. The warm soup will slightly soften the cheese, creating a creamy texture. Serve immediately while the soup is hot and the flavors are at their peak.

Disclaimer: Our editors have used AI to create or enhance parts of this article and some images. All content has been fact-checked by our team to ensure accuracy.

Leave a Comment

Recipe Rating




×
Pinterest Logo
Follow me on Pinterest for FREE Daily Recipes!
Follow on Pinterest
Recipe