I’d never heard of zuppa toscana until I walked into an Olive Garden about fifteen years ago. One spoonful and I was hooked—creamy, savory, with just enough kick from the sausage. I’ve been making my own version at home ever since.
This recipe swaps regular cream for unsweetened almond milk, which keeps things lighter without losing that rich, comforting taste. You still get all the good stuff—Italian sausage, crispy bacon, tender potatoes, and fresh spinach. It’s the kind of soup that makes everyone at the table go quiet for a few minutes while they eat, which is always a good sign.

Why You’ll Love This Zuppa Toscana Soup
- Dairy-free comfort food – Using almond milk instead of heavy cream makes this soup lighter and perfect for anyone avoiding dairy, without sacrificing that creamy texture you crave.
- Restaurant-quality at home – You can recreate that famous Italian restaurant soup right in your own kitchen for a fraction of the cost.
- Hearty and filling – With Italian sausage, bacon, and potatoes, this soup is satisfying enough to be a complete meal on its own.
- Ready in under an hour – Despite tasting like it simmered all day, this soup comes together in just 50-70 minutes from start to finish.
- Crowd-pleaser – The combination of savory sausage, crispy bacon, and tender potatoes makes this a hit with everyone at the dinner table.
What Kind of Italian Sausage Should I Use?
You can use either sweet or hot Italian sausage for this soup, depending on how much heat you like. Sweet Italian sausage gives you a milder, more traditional flavor that’s great if you’re feeding kids or prefer less spice. Hot Italian sausage adds a nice kick that pairs really well with the creaminess of the almond milk and the earthiness of the potatoes. If you can’t decide, grab one pound of each and mix them together for a medium heat level that keeps everyone happy. Just make sure to remove the casings before cooking if your sausage comes in links, or grab the ground Italian sausage to save yourself a step.

Options for Substitutions
This soup is pretty forgiving when it comes to swaps, so feel free to work with what you have:
- Italian sausage: You can use mild, hot, or sweet Italian sausage depending on your preference. Ground turkey or chicken sausage works too if you want a lighter option, though you’ll lose some of that rich, savory flavor.
- Almond milk: While this recipe uses almond milk, you can swap it for regular heavy cream, half-and-half, or any other milk you prefer. Coconut milk adds a slightly different flavor but works in a pinch. If using a thinner milk, you might want to add a tablespoon of flour to help thicken the soup.
- Russet potatoes: Yukon golds or red potatoes are great alternatives. They hold their shape a bit better than russets, which tend to break down more during cooking.
- Spinach: Kale is actually the traditional choice for Zuppa Toscana and works great here. Just remove the tough stems and chop it up. You can also use Swiss chard or any leafy green you have on hand.
- Bacon: If you want to skip the bacon, you can leave it out entirely or add some smoked paprika to the soup for that smoky flavor.
- Broth: Chicken or vegetable broth both work fine. If you only have bouillon cubes, use 4 cups of water with the appropriate number of cubes.
Watch Out for These Mistakes While Cooking
The biggest mistake when making Zuppa Toscana is adding the almond milk while the soup is still boiling, which can cause it to separate and curdle – always turn off the heat first and let the soup cool for a minute before stirring in the almond milk.
Overcooking the potatoes is another common issue that leads to mushy soup, so start checking them at the 10-minute mark with a fork and remove from heat as soon as they’re tender but still hold their shape.
Don’t add the spinach too early or it will turn an unappetizing gray color – toss it in during the last 2-3 minutes of cooking so it wilts but stays bright green.
Finally, if you want a creamier texture without over-blending, use an immersion blender to partially blend just a few potato pieces against the side of the pot, which thickens the broth while keeping most of the ingredients intact.

What to Serve With Zuppa Toscana?
This hearty soup is practically a meal on its own, but I love serving it with some crusty bread or garlic bread for dipping into that creamy broth. A simple side salad with mixed greens and a light vinaigrette helps balance out the richness of the sausage and bacon. If you’re feeding a crowd, breadsticks are always a hit and perfect for soaking up every bit of soup from your bowl. You could also serve it alongside a caprese salad or some roasted vegetables if you want to add more veggies to the meal.
Storage Instructions
Store: This soup keeps great in the fridge for up to 4 days in an airtight container. The flavors actually get even better the next day as everything melds together, so it’s perfect for meal prep or making ahead for busy weeknights.
Freeze: You can freeze this soup for up to 3 months, but keep in mind that potatoes can sometimes get a bit grainy after freezing. If you’re planning to freeze it, consider slightly undercooking the potatoes or adding fresh ones when you reheat.
Reheat: Warm it up gently on the stovetop over medium-low heat, stirring occasionally. You might need to add a splash of broth or almond milk if it’s thickened up in the fridge. The microwave works too, just heat it in intervals and stir between each one to make sure it warms evenly.
| Preparation Time | 25-35 minutes |
| Cooking Time | 25-35 minutes |
| Total Time | 50-70 minutes |
| Level of Difficulty | Medium |
| Servings | 8 servings |
Estimated Nutrition
Estimated nutrition for the whole recipe (without optional ingredients):
- Calories: 3200-3600
- Protein: 110-125 g
- Fat: 240-270 g
- Carbohydrates: 110-130 g
Ingredients
For the sausage:
- 2 lb Italian sausage (remove from casing for crumbling)
- 1 tbsp garlic oil
For the broth base:
- 1/2 tsp salt (adjust to taste)
- 4 cups chopped potatoes (cut into 1/2-inch cubes)
- 2 cups water
- 4 cups broth (chicken or vegetable)
For finishing:
- 12 oz bacon (cooked and crumbled)
- 1 cup unsweetened almond milk (I use Silk unsweetened)
- 1/2 cup diced green onion (white and light green parts)
- 3-4 cups spinach (fresh, roughly chopped)
Step 1: Brown the Sausage and Cook the Bacon
- 2 lb Italian sausage
- 1 tbsp garlic oil
- 12 oz bacon
Heat the garlic oil in a large pot or Dutch oven over medium-high heat.
Add the crumbled Italian sausage and cook for 8-10 minutes, breaking it up with a spoon as it cooks until it’s browned and no longer pink.
While the sausage cooks, prepare the bacon by cooking it in a separate skillet until crispy, then transfer to a paper towel-lined plate and crumble once cooled.
This parallel cooking saves time and allows you to build a flavorful foundation for the soup.
Step 2: Build the Broth Base with Potatoes
- browned sausage from Step 1
- 4 cups broth
- 2 cups water
- 4 cups chopped potatoes
- 1/2 tsp salt
Once the sausage is browned, add the broth, water, diced potatoes, and salt to the pot with the sausage and its flavorful drippings.
Bring everything to a boil over high heat, then reduce to a simmer and cook uncovered for 10-13 minutes until the potatoes are completely tender and easily pierced with a fork.
The potatoes will break down slightly during cooking, which naturally creates a creamy texture and thickens the broth.
Step 3: Create Creaminess and Add the Finishing Touches
- potato and broth mixture from Step 2
- 1 cup unsweetened almond milk
- crumbled bacon from Step 1
- 3-4 cups fresh spinach
- 1/2 cup diced green onion
Remove the pot from heat and stir in the unsweetened almond milk, which adds richness without dairy.
Using an immersion blender, partially blend the soup directly in the pot—blend about one-third to one-half of it, leaving some chunks of potato for texture and body.
I find this creates the ideal consistency: creamy but still hearty, unlike a completely smooth soup.
Now stir in the crumbled bacon from Step 1, the chopped spinach, and the diced green onion, stirring gently until the spinach begins to wilt.
Step 4: Final Simmer and Serve
- completed soup from Step 3
Return the pot to medium-low heat and simmer gently for 2-3 minutes until the spinach is completely wilted and the flavors meld together.
Taste and adjust salt as needed.
Ladle into bowls and serve hot.
The soup is best enjoyed immediately while it has a beautiful creamy texture and the greens are vibrant.

Tasty Zuppa Toscana Soup with Almond Milk
Ingredients
For the sausage:
- 2 lb Italian sausage (remove from casing for crumbling)
- 1 tbsp garlic oil
For the broth base:
- 1/2 tsp salt (adjust to taste)
- 4 cups chopped potatoes (cut into 1/2-inch cubes)
- 2 cups water
- 4 cups broth (chicken or vegetable)
For finishing:
- 12 oz bacon (cooked and crumbled)
- 1 cup unsweetened almond milk (I use Silk unsweetened)
- 1/2 cup diced green onion (white and light green parts)
- 3-4 cups spinach (fresh, roughly chopped)
Instructions
- Heat the garlic oil in a large pot or Dutch oven over medium-high heat. Add the crumbled Italian sausage and cook for 8-10 minutes, breaking it up with a spoon as it cooks until it's browned and no longer pink. While the sausage cooks, prepare the bacon by cooking it in a separate skillet until crispy, then transfer to a paper towel-lined plate and crumble once cooled. This parallel cooking saves time and allows you to build a flavorful foundation for the soup.
- Once the sausage is browned, add the broth, water, diced potatoes, and salt to the pot with the sausage and its flavorful drippings. Bring everything to a boil over high heat, then reduce to a simmer and cook uncovered for 10-13 minutes until the potatoes are completely tender and easily pierced with a fork. The potatoes will break down slightly during cooking, which naturally creates a creamy texture and thickens the broth.
- Remove the pot from heat and stir in the unsweetened almond milk, which adds richness without dairy. Using an immersion blender, partially blend the soup directly in the pot—blend about one-third to one-half of it, leaving some chunks of potato for texture and body. I find this creates the ideal consistency: creamy but still hearty, unlike a completely smooth soup. Now stir in the crumbled bacon from Step 1, the chopped spinach, and the diced green onion, stirring gently until the spinach begins to wilt.
- Return the pot to medium-low heat and simmer gently for 2-3 minutes until the spinach is completely wilted and the flavors meld together. Taste and adjust salt as needed. Ladle into bowls and serve hot. The soup is best enjoyed immediately while it has a beautiful creamy texture and the greens are vibrant.