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!

Two bowls of Whole30 healthy Zuppa Toscana recipe

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 large pot of Whole30 healthy zuppa toscana recipe

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.

Two bowls of Whole30 healthy zuppa toscana recipe with a pot in the background

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.
A large pot of Whole30 healthy zuppa toscana recipe

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.

Combine sausage ingredients then brown in a pot

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.

Fry the bacon until crisp

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.

Add kale, sausage, bacon, and coconut milk

Serve!

Two bowls of Whole30 healthy zuppa toscana recipe with a pot in the background

Other Recipes You’ll Love

Recipe By: Cheryl Malik
5 from 349 votes

Whole30 Zuppa Toscana

Prep 5 minutes
Cook 45 minutes
Total 50 minutes
With tender potatoes, kale, easy homemade Italian sausage, and bacon, this Whole30 soup recipe is loaded with flavor. The perfect one-pot meal!
6 servings

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

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

Serving Size: 1servingCalories: 394calProtein: 13gFat: 24gSaturated Fat: 16gCholesterol: 14mgSodium: 765mgPotassium: 1235mgTotal Carbs: 35gFiber: 5gSugar: 5gNet Carbs: 30gVitamin A: 4775IUVitamin C: 74.2mgCalcium: 138mgIron: 7.1mg
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.

Leave A Review

Your email address will not be published. Required fields are marked *

Recipe Rating




This site uses Akismet to reduce spam. Learn how your comment data is processed.

590 Comments

  1. Made this today and it’s delicious!! I used store bought compliant sausage. The soup is so tasty and really feels like a complete meal with all of the ingredients! I plan to have it for lunch the next 5 days. Thank you!

  2. Hi, I cannot wait to try this! I do have a quick question. Does the coconut milk give it a hint of coconut flavor? My husband does not care for coconut at all so I’m wondering if I should use unsweetened almond milk or something? Thank you!

    1. It personally does not taste coconutty to me at all, but if he’s very, very sensitive to it, you might replace the coconut milk with cashew cream. Blend 3/4 cup raw cashews with 1 cup water in a high-speed blender until very, very smooth. Stir in like you would the coconut cream!5 stars

    2. I just wanted to comment that I was worried this would taste like coconuts, too, and was wary. I’ve made other paleo dishes before where the coconut flavor is really predominant. I LOVE the taste of coconut, but when you’re not expecting (like in a spinach artichoke dip, or something similar) it can be off-putting. However, we are really trying to reduce dairy in our lives and I had a few cans of Trader Joe’s coconut milk sitting in the pantry, so I went for it. I’m so happy to report that there was no hint of coconut flavor whatsoever! I did double the recipe but I only used one can of coconut milk, so that might have helped. I used an immersion blender before adding the sausage, too, to puree some of the potatoes with the chicken broth. This also helped lend a creamier, thicker soup without more liquid. Go for it! This soup is amazing and will be on regular repeat at my house!5 stars

  3. Made this last night and it was AMAZING!!!! So easy and a piece of cake to make. I finished my 1st whole 30 In Jan and this recipe is making it easier to keep going. Thank you!!5 stars

  4. I am currently eating dairy free while nursing my baby, and I have to say that I love this recipe! Thanks so much for sharing it! I want to make this for a potluck, and was wondering if you had suggestions for doing it in a crockpot?5 stars

    1. Sure! I would brown the sausage like normal and then add all the ingredients except for the kale and cook on high for maybe 2-3 hours, low for 5. I’d add the kale in last and cook until bright green.5 stars

      1. I just finished making a batch of this in the slow cooker, it was delicious! I subbed bone broth for chicken broth. I browned the sausage first and cooked up the bacon, then cooked the garlic and onions in the bacon grease. Then I put everything except for the bacon, coconut milk, and kale in the crock pot for 5 hours on low and added the last 3 ingredients for about 15 minutes. Would definitely make it again5 stars

  5. 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!5 stars

  6. I’ve been making this soup for my family often & we all love it! However, I just looked at your nutrition facts… can that be correct!? 749 cals per serving? That’s more than the actual Olive Garden soup. Seems like a lot to me, so I just thought I’d double check with you!

    1. Hi! Glad you like the soup so much 🙂 These calorie calculators leave something to be desired for sure. The label is based off 4 servings in a batch, and if you’re eating as much as they serve at Olive Garden, you would get more servings out of a recipe. However, a can of coconut milk has about 700 calories (healthy fats!). The calculator might also be including the full fat from the bacon, which you don’t use all of, of course. You might want to try plugging the ingredients into a calculator and seeing how it looks for you! 🙂5 stars

  7. I made this soup yesterday and it is DELISH! ? will definitely be making it again and again…do you by handed know the nutritional value? Calories, fat, carbs per serving?5 stars

  8. Loved this soup!!! My husband and son also loved it? I made it with non whole 30 bacon the first time and tonight am making without bacon at all but I really want to do it with whole 30 bacon where do I find it? Please help!!!5 stars

    1. Most health food stores, like Whole Foods or Sprouts, carry Paleo bacon. Look for Pederson’s, but there are other brands too. They all usually have a Paleo or whole30 logo on the front!5 stars

Where To Next?