Look, I get it.
You’re trying to stick to keto. And most days? You miss the comfort foods. The creamy soups. The hearty dinners that actually fill you up.
I felt the same way until I tried this soup.

This isn’t some sad “diet food” that leaves you hungry an hour later. This is Italian sausage and crispy bacon swimming in a rich, creamy broth. This is the kind of soup that makes you forget you’re even eating low-carb.
Want to know the best part?
My husband – who refuses to eat “health food” – asked for seconds. Then he went back for thirds. He had no idea I’d swapped cauliflower for potatoes.
None.
What Makes This Recipe Different
Here’s what you’re getting:
- Seriously good flavor from Italian sausage and bacon (not some watered-down version)
- Creamy, satisfying texture that rivals any restaurant soup
- Only 3-4 net carbs per serving (compared to the restaurant’s 13g)
- Ready in 40 minutes – perfect for weeknight dinners
The secret?
Cauliflower. But before you close this tab, hear me out.
When you simmer cauliflower in this broth, something magical happens. It soaks up all those savory flavors. It gets tender and potato-like. Even my carb-loving kids couldn’t tell the difference.
I’ve tested this recipe probably 20 times now. Different sausages. Different greens. Different broths.
This version? It’s perfect.

What You’ll Need
Let me break down the ingredients for you. I’m picky about what goes into my recipes, so these recommendations come from lots of trial and error.
| Ingredient | Quantity | Notes |
|---|---|---|
| Italian Sausage (mild) | 1 lb | Bulk style or remove from casings; spicy works too |
| Thick-cut bacon | 4 slices | Cut into bite-sized pieces |
| Beef bone broth | 32 oz | Regular beef broth works; bone broth adds nutrients |
| Small onion | 1 | Diced fine |
| Fresh garlic | 3 cloves | Minced; don’t skip this! |
| Fresh cauliflower | 1 head | Cut into even-sized florets |
| Heavy whipping cream | ½ cup | Creates that signature creamy texture |
| Fresh spinach | 2 cups | About 5 oz; kale is an alternative |
| Salt and pepper | To taste | Optional but recommended |
| Crushed red pepper flakes | To taste | Optional; adds nice heat |
| Parmesan cheese (shredded) | For garnish | Optional but delicious |
Recipe Timing:
Prep Time: 10 minutes | Cook Time: 30 minutes | Total Time: 40 minutes
Servings: 6 | Difficulty: Easy
A Few Quick Notes on Ingredients
The sausage:
I use mild because I like controlling the heat level myself. But if you’re a spice lover? Go for hot Italian sausage. Just make sure it’s good quality – the cheap stuff will let you down.
The bacon:
Thick-cut only. Those thin grocery store slices won’t cut it here. You want actual meaty chunks in your soup, not bacon confetti.
The broth situation:
Bone broth is my favorite. It adds this deep, rich flavor that regular broth can’t match. Plus, all that collagen and extra nutrients? Yes please.
But here’s the thing.
If you only have regular beef broth? That’s totally fine. The soup will still be delicious. Don’t stress about it.
Fresh vs. jarred garlic:
Look, I know the jarred stuff is convenient. I have a jar in my fridge too.
But for this recipe?
Fresh makes a difference. Those aromatics build the flavor foundation for everything else. It’s worth the extra 30 seconds of chopping.
Let’s Cook This Thing

Getting Started
Grab your biggest soup pot or Dutch oven. We need room for everything to bubble away without crowding.
Ready?
Let’s do this.
Step 1: Brown the Meat
Cut your bacon into bite-sized pieces first. Makes everything easier.
Toss the bacon and sausage into your pot over medium-high heat.
Now here’s where patience comes in.
Break up that sausage as it cooks. You want crumbles, not chunks. Let everything get really brown – like 8 to 10 minutes of cooking time.
Don’t rush this step.
Those crispy, caramelized bits? That’s pure flavor right there. That’s what makes this soup taste like it came from a restaurant kitchen.
Your bacon should be crispy. Your sausage should be completely cooked with no pink. And your kitchen should smell absolutely incredible.
(Try not to snack on the bacon. I know it’s tough.)
Step 2: Build Your Flavor Base
Meat’s done? Perfect.
Toss in your diced onion and minced garlic. Stir everything together and let it cook for about 2 minutes.
The onion will start to look translucent. The garlic will get fragrant. You’ll want to just stand there and smell it.
Now pour in that beef bone broth.
Here’s a tip: scrape up all those brown bits stuck to the bottom of your pot. That’s where tons of flavor is hiding. Don’t leave it behind.
Add your cauliflower florets next. Make sure they’re cut into similar-sized pieces – this way they all cook at the same rate.
Cover your pot. Drop the heat to medium. Let everything simmer together for about 15 minutes.
How do you know when it’s ready?
Poke the cauliflower with a fork. It should be tender but not mushy. Think al dente pasta, but for vegetables.

Step 3: Make It Creamy
This is my favorite part.
Your cauliflower’s tender? Time to add the heavy cream.
Pour it in slowly. Stir gently. Watch the broth transform into this gorgeous, creamy mixture right before your eyes.
Now add your spinach.
Two cups of raw spinach looks like a lot. Don’t worry. It wilts down to almost nothing in about 5 minutes. Just stir it in and let it cook until it’s completely soft.
Step 4: Season to Perfection
Taste your soup.
Go ahead. Right now.
Add salt and pepper to your liking. I usually do about ½ teaspoon of each, but you might want more or less.
Love spicy food?
Sprinkle in some crushed red pepper flakes. Start with ¼ teaspoon. You can always add more, but you can’t take it back.
Time to Serve
Ladle this beautiful soup into bowls.
Top each one with a generous handful of shredded Parmesan.
The cheese melts slightly from the heat. Creates these amazing little pockets of savory goodness.
I like putting extra red pepper flakes on the table. Let everyone customize their heat level. More Parmesan too, because why not?
What About Leftovers?
Good news: this soup keeps well in the fridge for up to 4 days. Just store it in an airtight container.
The not-so-good news?
Don’t freeze it.
I learned this the hard way. The heavy cream separates when you thaw it. Creates this weird, grainy texture nobody wants to eat. Just stick with refrigeration.
When you reheat, use the stovetop if you can. Medium-low heat, stirring occasionally.
Microwave works too – just heat it in 1-minute intervals, stirring between each one, until it’s hot.
Quick Tips That Matter
Uniform cauliflower pieces:
This seems small. But it prevents some pieces from turning to mush while others stay crunchy. Aim for florets about 1 to 1.5 inches.
Don’t skip the browning:
Those caramelized bits create flavor you simply can’t get any other way. It’s worth the extra few minutes.
Soup too thick after refrigeration?
Just add a splash of broth when you reheat. Cauliflower absorbs liquid as it sits. Totally normal.
Make It Your Own
One of my favorite things about this recipe?
You can customize it endlessly.
Spice Level Options
Want more heat? Use hot Italian sausage. Add cayenne pepper. Go crazy with the red pepper flakes.
Prefer it mild? Stick with sweet Italian sausage. Skip the red pepper entirely.
Vegetable Swaps
Not a cauliflower fan? (Though I promise you won’t taste it in this soup.)
Try turnips instead. They have a similar texture when cooked. Soak up flavors beautifully.
Radishes are another option. Sounds weird, but they work surprisingly well.
You could also add diced zucchini in the last 5 minutes for extra veggies.
Different Greens
I love spinach. But kale is the traditional choice.
Kale holds up better during cooking. Adds a slightly earthier flavor. Swiss chard works too. Or mix a bunch of greens together.
Richness Control
Want it even creamier? Bump the heavy cream up to ¾ cup.
Want to lighten it slightly? Use half-and-half. Just know this increases the carb count a bit.
When Things Go Wrong
Soup too thin?
Let it simmer uncovered for another 10 minutes. This reduces the liquid.
Or mash some cauliflower pieces against the side of your pot. Creates natural thickening.
Soup too thick?
Add more broth. Quarter cup at a time. Taste as you go.
Remember: soup thickens as it sits. Slightly thinner is better than too thick.
Too greasy?
Let the soup cool slightly. The fat rises to the surface. Skim it off with a spoon.
Some fat is good for flavor. But too much? Unpleasant.
Tastes bland?
You probably need more salt. Add it gradually. Taste after each addition.
A splash of lemon juice brightens everything up without adding carbs.
The Numbers
Per serving (recipe makes 6), you’re looking at about 3 to 4 net carbs.
Perfect for keto.
The exact macros depend on your specific brands. But this soup is definitely low-carb approved.
You’re getting protein from the sausage and bacon. Fat from the cream. Fiber from the vegetables.
It’s a complete meal that keeps you full for hours.
Your Questions Answered
Can I use ground beef instead of Italian sausage?
Sure thing.
But you’ll need to add seasonings. Italian sausage brings tons of flavor from its spice blend.
Try this: add 1 tablespoon Italian seasoning and ½ teaspoon fennel seeds per pound of beef. Throw in some garlic powder and onion powder too.
How do I keep the cream from curdling?
Temperature control is key.
Remove the soup from high heat before adding cream. Stir it in gently. Don’t let it boil after that.
Keep it at a gentle simmer. You’ll be fine.
Can I make this in a slow cooker?
Absolutely.
Brown the sausage and bacon first. Then transfer everything except the cream and spinach to your slow cooker.
Add the broth, onion, garlic, and cauliflower.
Cook on low for 6 to 7 hours. Or high for 3 to 4 hours.
During the last 30 minutes, stir in the cream and spinach.
What’s the best way to cut cauliflower for this?
Remove the leaves and thick core. Break it into florets.
Cut larger florets into smaller pieces. Aim for chunks about the size of a walnut.
They’ll shrink a bit during cooking. You’ll end up with perfect bite-sized pieces.
Any dairy-free options?
Use coconut cream instead of heavy cream. Get the thick part from a can of full-fat coconut milk.
The flavor changes slightly. But you still get that creamy texture.
For the Parmesan? Try nutritional yeast. Gives you that “cheesy” flavor without dairy.
Why This Became My Go-To Recipe
I make this soup almost every week now.
It’s fancy enough when we have guests over. Easy enough for Tuesday night dinner. And the fact that it’s low-carb? That’s just a bonus.
Because honestly?
This is just really good soup.
I usually make a huge batch on Sunday. Eat it all week long. The flavors get even better as they sit together.
Sometimes I switch up the toppings. Crispy fried onions one night. Extra bacon the next. Fresh basil when I’m feeling fancy.
The beauty of this recipe?
Once you know the basics, you can play around forever. Different sausage flavors. Various greens. Extra vegetables.
It’s your canvas.
Don’t be afraid to experiment. Make it your own.
Now stop reading and go cook this thing. Your taste buds will thank you. Your carb count will stay right where you want it.
Happy cooking, friends.

Keto Zuppa Toscana Soup
Ingredients
- 1 lb Italian sausage mild, bulk style or remove from casings
- 4 slices thick-cut bacon cut into bite-sized pieces
- 32 oz beef bone broth or regular beef broth
- 1 small onion diced fine
- 3 cloves fresh garlic minced
- 1 head fresh cauliflower cut into even-sized florets
- 1/2 cup heavy whipping cream
- 2 cups fresh spinach about 5 oz
- salt and pepper to taste
- crushed red pepper flakes optional, to taste
- Parmesan cheese shredded, for garnish
Instructions
- Cut bacon into bite-sized pieces. Add bacon and Italian sausage to a large soup pot or Dutch oven over medium-high heat.
- Break up the sausage as it cooks. Cook for 8-10 minutes until bacon is crispy and sausage is completely browned with no pink remaining.
- Add diced onion and minced garlic to the pot. Stir and cook for about 2 minutes until onion becomes translucent and garlic is fragrant.
- Pour in the beef bone broth, scraping up any brown bits from the bottom of the pot. Add cauliflower florets.
- Cover the pot, reduce heat to medium, and simmer for about 15 minutes until cauliflower is tender when pierced with a fork.
- Slowly pour in the heavy cream, stirring gently. Add the fresh spinach and stir until it wilts down, about 5 minutes.
- Taste and season with salt and pepper to your liking (about 1/2 teaspoon of each). Add crushed red pepper flakes if desired.
- Ladle into bowls and top with shredded Parmesan cheese. Serve hot.










