This Post May Contain Affiliate Links. Please Read Our Disclosure Policy.
This Whole30 healthy Zuppa Toscana is rich and creamy, spicy, and absolutely bursting with flavor. You’ll love this filling, Whole30 soup anytime, but especially during cold, wintry months. Dairy free, gluten free, grain free, and sugar free, this is one of the best Whole30 soups out there and my favorite healthy soup!
Can You Really Make This Iconic Soup at Home?
We started a recent Whole30 with this soup, and I have to say: we did it right. I even posted a snap (?) on Instagram, lamenting how oh. so. hard. it is to do a Whole30, with lots of crying emojis… I’m subtle.
In previous rounds, I tired quickly of large slabs of animal protein, so I knew I had to shake things up a bit this round. And leading a group Whole30 and Facebook support group (join us!) means coming up with new and delish recipes to keep things interesting.
Et voilà, my friends, the Whole30 Zuppa Toscana. Who isn’t a fan of the creamy, spicy soup at your favorite Italian-food chain, laden with potatoes and kale and bacon and Italian sausage and “ohhhh boy”. Especially during the winter, my cravings for creamy, filling soups multiply like four-hundredfold, so we find ourselves in a tricky spot.
A spot where you’re 100% committed to doing a strict Whole30, but you really, really want Zuppa Toscana.
Why You’ll Love This Recipe
- This Whole30 soup is rich and creamy like traditional Zuppa Toscana but totally dairy free.
- It starts with an easy but delicious Italian sausage recipe, made from scratch! But don’t be nervous – it’s super quick and couldn’t be simpler.
- The combination of coconut milk, kale, potatoes, Italian sausage, and bacon make this healthy Zuppa Toscana super filling and a one-pot meal.
This Whole30 Zuppa Toscana is based on a regular Zuppa Toscana recipe, subbing simple ingredients for the dairy, grains, and sugar. I recommend making your own Italian sausage, which is insanely easy, but you could use compliant storebought Italian sausage, too, of course. Make sure you use compliant bacon if you’re on a Whole30, as well. It can be tricky to find bacon that doesn’t have sugar in it, but Whole Foods has a few brands of that, as well.
I have a tendency to be super hungry on the Whole30, like eat. all. the. things., but this soup kept me super full all night. I might have had to bite my knuckles to get past my craving for Glutino pretzels on tap, shoveled into my face during our nightly screenings of Boardwalk Empire, but it wasn’t from hunger, that’s for us.
That, my friends, is a habit that, I have to say, I kind of still miss. Baby steps, fam. Baby steps.
Variations
- If you avoid potatoes, try cauliflower florets in place of the diced potatoes. You can even try celery root!
- Try ground chicken in place of the pork, if you prefer or don’t eat pork.
- If you’re allergic to coconut or are worried it might have a “coconutty” flavor, swap the coconut milk out for cashew cream. Combine 1 cup raw cashews with 3/4 cup water in a high-speed blender and blend until completely smooth.
Chef’s Tips
- Don’t overcook the soup after you’ve added the kale. You want it bright green and just wilted.
- Make a big batch of this Whole30 healthy Zuppa Toscana on Sunday and eat it all week. Comfiest meal prep ever!
- Leave out the extra 1/2 teaspoon crushed red pepper flakes in the soup if you’re sensitive to heat.
Make your Italian sausage: combine all ingredients and mix well with your hands. Alternately, simply pour all ingredients into a large pot and mix with a spoon while browning. Brown the sausage in a large heavy-bottomed pot, preferably a Dutch oven, breaking up with a spoon or spatula. Remove from pot, drain, and set aside.
Fry bacon until crisp and remove with a slotted spoon. Don’t get rid of bacon grease! Stir in the onions and garlic and cook until soft and translucent.
Add chicken broth and bring to a boil. Add the potatoes and boil about 10-15 minutes, or until potatoes are fork-tender. Reduce the heat to medium and add coconut milk and sausage; stir until smooth. Add in kale and bacon and cook until kale is bright green and just wilted.
Serve!
Other Recipes You’ll Love
- Whole30 Instant Pot Chicken Tortilla-Less Soup
- Cheesy Vegan Broccoli Soup (Whole30)
- Whole30 Lasagna Soup
- Bruschetta Chicken (Whole30, Paleo, Low Carb)
- Slow Cooker Tom Kha Soup (Thai Coconut Chicken Soup)
- Keto Broccoli Cheese Soup
- Whole30 Creamy Garlic Chicken (Dairy Free, Paleo)
- 15-Minute Hearty Chickpea Soup
Whole30 Zuppa Toscana
Ingredients
- 4 slices Whole30-compliant bacon sliced into ½-inch pieces
- 1 pound Italian sausage made from below recipe or storebought
- ½ teaspoons crushed red pepper flakes
- 4 medium yellow potatoes about 1 pound 3 ounces, diced into bite-sized pieces
- 1 medium white or yellow onion diced
- 2 tablespoons garlic minced, about 4 cloves
- 4 cups chicken stock
- ½ bunch kale stems removed and leaves chopped, 4 cups
- 1 13.5-ounce can unsweetened, full-fat coconut milk
- Salt and pepper to taste
Homemade Whole30 Italian Sausage
- 1 pound ground pork
- 1 tablespoon red wine vinegar
- 1 teaspoon salt
- 1 teaspoon black pepper
- 1 tablespoon fresh chopped parsley or 2 teaspoons dried
- 1 teaspoon garlic powder
- 1 teaspoon onion powder
- 1 teaspoon dried basil
- 1 teaspoon paprika
- 1 teaspoon red pepper flakes
- ¼ teaspoon ground fennel seed optional
- pinch dried oregano
- pinch dried thyme
Instructions
- If making Italian sausage: combine all ingredients in a bowl and mix well. Alternately, combine all ingredients in the saucepan and stir well when browning.
- In a Dutch oven or heavy-bottomed medium pot over medium heat, add Italian sausage and sprinkle crushed red pepper flakes over. Use a spoon to break up the pieces. When browned and cooked through, drain and set aside.
- Cook the bacon pieces in the same Dutch oven over medium heat until crisp, about 5-10 minutes. Remove the crisp bacon and set aside – don’t get rid of the bacon fat! Stir in the onions and garlic; cook until onions are soft and translucent, about 5 minutes.
- Pour the chicken broth into the Dutch oven with the onions and garlic, and bring to a boil over high heat. Add the potatoes, and boil until fork tender, about 10-20 minutes. Reduce the heat to medium and stir in the coconut milk and the cooked sausage; heat through. Add the bacon and the kale into the soup just before serving and cook ’til the kale is bright green and softened. Add salt and pepper to taste.
Video
Approximate Information for One Serving
Nutrition Disclaimers
Number of total servings shown is approximate. Actual number of servings will depend on your preferred portion sizes.
Nutritional values shown are general guidelines and reflect information for 1 serving using the ingredients listed, not including any optional ingredients. Actual macros may vary slightly depending on specific brands and types of ingredients used.
To determine the weight of one serving, prepare the recipe as instructed. Weigh the finished recipe, then divide the weight of the finished recipe (not including the weight of the container the food is in) by the desired number of servings. Result will be the weight of one serving.
Did You Make This Recipe?
Tag @40aprons on Instagram and be sure to leave a review on the blog post!
This recipe was originally published in January 2017 but was updated with step-by-step photos, video, and tips August 2018.
Never Miss A Meal!
New Recipes Straight To Your Inbox
A curated selection of our most recent recipes, delivered straight to your inbox once a week.
OMG so easy, filling and delish! We run a wellness accountability coaching business and we had been testing out fall soup recipes to recommend to clients and this one was a huge winner! We immediately texted the recipe to all our clients as the perfect, easy filling meal. Both men and women found it super hearty. . It’s going in the permanent rotation!
Thanks for the awesome review!
Made this tonight and it was easy and amazingly delicious! Very filling and perfect for a winter Whole30 meal. Will definitely be making it again 🙂
That is great to hear! 🙂
Love this recipe! I try to use homemade bone broth as much as possible and always make the sausage from scratch (sorry I use a different recipe for that though – someday I’ll try this one!). Tonight I added some spinach because I didn’t have enough kale. Just add at very end as it wilts quickly. So good! This is a recipe I come back to again and again and believe me when I say that’s a big deal because I rarely make a recipe a second time. Only the best get repeated!
Thanks for sharing. 🙂
A friend made a big batch and shared this with me and it sent me your recipe. This soup is perfection- Such a good flavor and all the warmth of the hearth. I am currently on Weight Watchers so any blues out there: 16sp points per cup 🙁
Aw, thanks for the kind words!
LOVE this recipe- but just realized I’m out of Kale. Has anyone tried with spinach in a pinch?
Although we have not tried spinach, it should work pretty well as long as it is added towards the end. 🙂
@ERIN I made it the first 2 times with spinach, it was so good I was reluctant to try Kale! Also had to use Oat milk once due to no coconut mild (canned) I do like the coconut milk but think Im trying it today with “lite” coconut milk. I use there-cooked turkey sausage for use and lower fat and skip the bacon.
*pre-cooked turkey sausage from Costco
So delicious. I omitted the bacon but added in 2 tbs of butter with the onions as extra fat. Also include some herbs de provence, sage, parm cheese (not whole 30) and dried thyme. Can’t wait to try more of your recipes 🙂
Wow, that sounds amazing! Thanks for sharing, Christina. 🙂
I just put the ingredients in my crockpot! I bought my own Italian sausage from Trader Joe’s and just took the meat out of the casing. I did put the spices that were listed under the homemade sausage directions into the pot/broth, so I hope that won’t mess anything up. Regardless I’m excited to try!
Yay!! That’s exciting, Kat! How did it go??
It was so good! Making it again for this week.
This is hands down one of my favorite recipes. Period. I’ve recently began a love affair with my instant pot, and if you’re like me, you’ll realize that if you scroll through comments on recipes, there’s always bound to be someone who shared their IP adaptation. I had to go back to 2018 in the comments to find one (hah… I was desperate!). To spare everyone the scrolling, here’s what I found from Drew (1/9/18):
“I’ve made this recipe multiple times, but I just made it in my instant pot tonight and it was amazing! I used another recipe’s instructions (that was not whole30) and subbed in your ingredients and it worked like a charm. I added 2 cups more broth and an extra small can of coconut cream and it was absolutely perfect.
The directions I used said to saute the onions in the instant pot and then add your italian sauage and garlic. After the sausage is cooked you add in broth and potatoes and set the pressure cooker setting to high for 5 minutes. Once it’s finished pressure cooking, you let it sit and slow release for 10 minutes before doing a quick release. Lastly, you add in your bacon, kale, and coconut milk/cream and you’re done!”
Thanks for posting this modification, Lindsay 🙂 The Instant Pot is definitely a game changer!
Thank you for reaching-posting! Saved me a lot of scrolling 🙂
This is one of my favorite Fall soup recipes! Is there a modification for cooking in a crockpot?
SAME! There’s nothing better than soup in the fall! To cook this recipe in a Crock-Pot, you would want to use less liquid, add the meat, veggies, and spices first, then add the coconut milk at the end. I’d also recommend cooking for around 4 hours — veggies get mushy after too long! Let me know how it goes!
Hi! I have been making this recipe for a few years and just love it. Better than regular non whole30 version- I’ve shared with all of my friends and family and everyone just loves it! My question is how much soup is one serving reflected in the nutrition facts? 1 cup?
So glad you love this recipe, Scout! Yes, the serving size is one cup. 🙂