This post may contain affiliate links. For more information, see our Affiliate Disclosure Policy.
If you’ve ever craved a big bowl of Olive Garden’s Zuppa Toscana but needed something healthier and completely dairy-free, this Whole30 Zuppa Toscana is the answer. Rich, creamy, and full of flavor, this comforting soup is everything you love about the original—with a nourishing twist that makes it perfect for Whole30, paleo, and gluten-free diets.
Jump to:
In this version, the heavy cream is replaced with full-fat coconut milk, adding silky richness without any dairy. Red potatoes provide hearty texture, while spicy Italian sausage brings the bold, savory punch. Finally, vibrant kale adds color, nutrients, and a slight crunch to round out the dish. It’s a one-pot wonder you’ll want to keep in your weekly rotation, whether you’re doing a Whole30 or just trying to eat cleaner.
Trust me when I say: once you taste this soup, you won’t miss the original one bit.
Why You’ll Love This Whole30 Zuppa Toscana
Key Benefits
- Whole30-compliant and packed with real, whole ingredients
- One-pot recipe that’s easy to make and even easier to clean up
- Family-friendly comfort food that doesn’t feel like a sacrifice
- Perfect for meal prep, with leftovers that taste even better the next day
- Freezer-friendly for busy weeknights or emergency comfort food needs
Taste and Texture
This soup is full of comforting textures and savory flavor. The potatoes soak up the spiced broth, giving each bite a creamy, fluffy interior. The sausage brings a satisfying richness and light heat, and the coconut milk ties everything together with smooth creaminess.
The kale stays slightly crisp and vibrant if added at the end, giving you a pop of freshness that balances the richness of the soup. Every spoonful delivers depth and warmth without being heavy.
Dietary Attributes
- Dairy-Free
- Gluten-Free
- Grain-Free
- Paleo
- Nut-Free
- Whole30-Approved

Ingredients and Substitutions
Full Ingredient List
- 2 tablespoons beef tallow, ghee, or avocado oil
- 1 large yellow onion, chopped
- 1 pound Whole30-compliant Italian sausage
- 3 cloves garlic, minced
- 1 tablespoon Italian seasoning
- 1 teaspoon crushed red pepper flakes (or more to taste)
- 8 cups chicken broth (Whole30-compliant)
- 7 medium red potatoes (about 2.5–3 pounds), chopped
- 5 ounces fresh kale, chopped (roughly 6–8 cups)
- 1 (13.5-ounce) can full-fat coconut milk
- Sea salt and freshly ground black pepper, to taste
Notes on Ingredient Quality
Use a high-quality chicken broth without added sugars or preservatives. Look for brands labeled as Whole30-compliant, or make your own. When choosing coconut milk, go with canned full-fat for the best creaminess and avoid boxed or reduced-fat versions, which can thin the soup and affect texture.
Red potatoes work beautifully in this recipe because they hold their shape well. You can peel them or leave the skins on for added texture and nutrients.
Possible Substitutions
- Sausage: Swap for ground turkey or chicken and season it yourself with fennel, garlic, and paprika if you can’t find compliant sausage.
- Kale: Spinach works too, especially baby spinach added at the end for a softer bite.
- Potatoes: Use sweet potatoes for a more earthy, sweeter taste.
- Coconut milk: Substitute with homemade cashew cream for a coconut-free option, though it will slightly change the flavor.
Step-by-Step Instructions

1. Prep Your Ingredients
Wash and chop all your vegetables before you start cooking. Dice the onion, mince the garlic, chop the potatoes into bite-sized pieces, and remove the stems from the kale before chopping it finely.
2. Sauté the Onion
In a large Dutch oven or stockpot, heat your cooking fat over medium-high heat. Add the chopped onion and sauté for 3 minutes until it becomes translucent and fragrant.
3. Brown the Sausage
Add the sausage to the pot, breaking it up with a wooden spoon or meat chopper. Cook for 5 to 7 minutes, stirring often, until fully browned and no pink remains.
4. Add Seasonings and Garlic
Sprinkle in the Italian seasoning and red pepper flakes, then cook for another 2 to 3 minutes. Add the minced garlic and stir for 1 minute until fragrant.
5. Pour in Broth and Add Potatoes
Pour in the chicken broth and stir everything together. Add the chopped potatoes. Bring the mixture to a boil, then reduce the heat, cover the pot, and simmer for 10 to 15 minutes until the potatoes are fork-tender.
6. Add Kale and Coconut Milk
Stir in the chopped kale and pour in the full can of coconut milk. Let the soup simmer for 5 more minutes, uncovered, until the kale is just wilted and the soup is creamy.
7. Season and Serve
Taste your soup and add salt and pepper as needed. Serve hot with extra red pepper flakes on top if you like a little extra heat.
Expert Tips and Tricks
Best Practices
- Add the kale at the very end for the best texture and color.
- Use a meat chopper to break up the sausage evenly for a better bite.
- Simmer gently after adding the coconut milk to prevent separation.
Common Mistakes to Avoid
- Overcooking the kale until it becomes mushy
- Using light coconut milk, which can result in a thinner, less satisfying broth
- Adding coconut milk too early and boiling it—this may cause it to split
Time-Saving Tips
- Pre-chop everything and store it in containers for a quick weeknight dinner
- Use pre-washed, bagged kale to skip the prep work
- Cook the sausage ahead of time and store it in the fridge or freezer
Serving Suggestions

Side Dish Pairings
- Simple mixed greens salad with lemon vinaigrette
- Roasted Brussels sprouts or garlic green beans
- Paleo-friendly garlic bread made from almond flour or sweet potatoes
Presentation Ideas
Serve the soup in deep bowls topped with a swirl of coconut milk, a crack of black pepper, and a few red pepper flakes. A sprinkle of fresh parsley adds a pop of color and flavor.
Beverage Pairings
- Sparkling water with cucumber and mint
- Herbal teas like chamomile or ginger
- After Whole30: a glass of chilled Sauvignon Blanc complements the richness of the soup
Storage and Reheating
Leftover Storage
Store leftovers in airtight containers in the refrigerator for up to 4 days. The soup also freezes well. Let it cool completely, then freeze in freezer-safe containers or Ziploc bags for up to 3 months. Be sure to label with the date.
Reheating Methods
- Stovetop: Reheat over medium heat, stirring often until warmed through.
- Microwave: Reheat in 1 to 2-minute intervals, stirring in between.
Avoid bringing the soup to a boil once the coconut milk is added. Gentle heat preserves its creamy consistency.

Frequently Asked Questions
Yes, but for the best texture, consider adding the kale fresh after thawing and reheating. This helps maintain its vibrant color and slight crunch.
It depends on the brand. Look for sausages with clean ingredients—no added sugar, dairy, or preservatives. Whole Foods 365 Mild Italian Pork Sausage is a good option, but always read the label.
You can try using a Whole30-compliant cashew cream instead. Blend soaked cashews with water until smooth and add it in place of coconut milk for a more neutral flavor.
Fresh, whole potatoes are naturally gluten-free. Just be cautious of packaged potato dishes that might contain additives or gluten-containing thickeners.
Yes. Let the soup cool completely, pour into jars leaving room for expansion, and freeze. Be sure to use jars labeled as freezer-safe and don’t overfill.
Variations and Customizations
Make It Vegan
Use plant-based sausage and vegetable broth. Skip the sausage entirely and add chickpeas (not Whole30) or mushrooms if you're just dairy- or gluten-free.
Low-Carb Option
Swap potatoes for cauliflower florets. They still absorb flavor and maintain a hearty texture without the carbs.
Add Your Own Twist
- Try adding sun-dried tomatoes for an extra punch of umami
- A splash of lemon juice before serving brightens the whole bowl
- Use smoked paprika or fennel seeds to deepen the flavor
Holiday and Seasonal Versions
For fall, use sweet potatoes and garnish with crispy sage leaves. Serve as a Thanksgiving starter or cozy Christmas week dinner.
Conclusion
This Whole30 Zuppa Toscana is proof that you don’t need dairy, grains, or processed ingredients to enjoy a bowl of indulgent, satisfying soup. It's warm, filling, flavorful, and easy to make. Whether you're deep into your Whole30 journey or just looking for a clean comfort food option, this recipe will absolutely hit the spot.
Be sure to try it, and let me know what you think in the comments or over on Pinterest at bakewithlina. I’d love to see your photos and hear your variations.
More Clean and Comforting Soups to Try
Looking for more cozy, healthy recipes like this one? Don’t miss these reader favorites:
Pin this recipe now to your Whole30 or clean eating board and come back to it anytime you need a warm, healthy hug in a bowl.



Whole30 Zuppa Toscana – Dairy-Free Potato Soup Recipe
- Prep Time: 10 minutes
- Cook Time: 40 minutes
- Total Time: 50 minutes
- Yield: 8 servings (about 14 cups) 1x
- Category: Soup
- Method: Stovetop
- Cuisine: Italian
Description
Cozy up to this Whole30 Zuppa Toscana tonight! Packed with potatoes, sausage and fresh crunchy kale swimming in a lightly spiced broth, you’ll think you’re at Olive Garden (minus the guilt)! You’ll fall in love with this healthy, dairy-free, gluten-free Olive Garden Zuppa Toscana copycat recipe once you give it a try.
Ingredients
- 2 tbsp. beef tallow or cooking fat of your choice
- 1 large onion, chopped
- 1 lb. ground Italian sausage (Whole30-compliant)
- 3 cloves garlic, minced
- 1 tbsp. Italian seasoning
- 1 tsp. crushed red pepper (or more to taste)
- 8 cups chicken broth
- 7 medium red potatoes (about 2.5–3 lbs., coarsely chopped)
- 5 oz. fresh kale, chopped (about 6–8 cups)
- 13.5 oz. can coconut milk
- Sea salt and freshly ground black pepper to taste
Instructions
- In a large stock pot or Dutch Oven, melt the beef tallow or cooking fat over medium-high heat.
- Add onion and sauté for 3 minutes.
- Add Italian sausage and cook for 5–7 minutes until browned.
- Add Italian seasoning and crushed red pepper. Sauté for 3 minutes.
- Add garlic and stir for 1 minute until fragrant.
- Add chicken broth and potatoes, bring to a boil.
- Reduce heat, cover, and simmer for 10 minutes.
- Add kale and coconut milk, simmer an additional 5 minutes until potatoes are fork-tender and kale is just barely tender.
- Season with salt and pepper to taste.
Notes
1/26/20 edits: Updated cook time from 30 to 40 minutes based on electric cooktop testing. Increased chicken broth from 6c to 8c for a soupier texture. Changed coconut milk from 8 oz. to a full 13.5 oz. can for a creamier result. Cooking onions first saves time and enhances flavor. Serving size adjusted accordingly.






Leave a Reply