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!
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 this Whole30 healthy Zuppa Toscana recipe is so good:
- 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.
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)
- Bruschetta Chicken (Whole30, Paleo, Low Carb)
Did you make and love this recipe? Give your review below! ? And make sure to share your creations by tagging me on Instagram!
Whole30 Zuppa Toscana
Ingredients
- 4 slices Whole30-compliant bacon cut into about 1/2" pieces
- 1 pound Italian sausage made from below recipe or storebought
- 1/2 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
- 1/2 bunch kale stems removed and leaves chopped, 4 cups
- 1 can 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
- 1/4 teaspoon ground fennel seed optional
- pinch dried oregano
- pinch dried thyme
Wine Pairings (NOT for Whole30!) — See Notes
- 2016 Middle Jane Carignan click to buy
- 2018 Oso Pardo Red Wine click to buy
- 2018 Che Fico Pinot Grigio click to buy
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
Notes
NO wine on Whole30 — no exceptions. I recommend buying wine from Scout and Cellar, especially for lower carb or sugar and the health conscious. There's no added sugar to these wines, and they're all much lower in carbs, calories, and sugar. For me, there's no headache or fogginess the next day! This soup recipe has a host of Italian flavors and seasonings, so you can get away with a variety of wine pairings. I recommend:
- Pinot Grigio, like this one from Italy
- A bold red blend, like this one from Spain
- Carignan, like this one from California
Nutrition
This recipe was originally published in January 2017 but was updated with step-by-step photos, video, and tips August 2018.
Kat says
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!
Cheryl Malik says
Yay!! That’s exciting, Kat! How did it go??
Kat says
It was so good! Making it again for this week.
Lindsay says
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!”
Cheryl Malik says
Thanks for posting this modification, Lindsay 🙂 The Instant Pot is definitely a game changer!
Lisa Marie says
Thank you for reaching-posting! Saved me a lot of scrolling 🙂
Sabra says
This is one of my favorite Fall soup recipes! Is there a modification for cooking in a crockpot?
Cheryl Malik says
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!
Scout Simes says
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?
Savannah | 40 Aprons Team says
So glad you love this recipe, Scout! Yes, the serving size is one cup. 🙂
Emily says
Deeeelicious! My husband specially requested it tonight. We like to eat it for lunches all week!
Cheryl Malik says
Thank you for the compliment, Emily! It’s such a great lunchtime soup this time of year 🙂
Stephanie Bauer says
Love love this recipe! Any suggestions on how to make without an instapot or crockpot? We had one the first time I made this recipe and don’t now.
Savannah | 40 Aprons Team says
We are so glad you enjoy this recipe! Yes, we created a version just for the Crockpot. 🙂 https://40aprons.com/crockpot-zuppa-toscana/
Jordan says
What is the serving size? One 1/2 cup?
Savannah | 40 Aprons Team says
Jordan, we consider the serving size one cup. 🙂
Sara says
How much of a difference would omitting the bacon make? We eat pork, but not bacon.
Savannah | 40 Aprons Team says
Hi! The bacon adds a ton of flavor and additional protein while also providing oil for the onions to cook in. You can omit the bacon, but make sure to substitute some oil for the bacon oil. 🙂
Jen says
How would substituting ground turkey in the sausage recipe change the flavor? A good friend of mine cannot eat certain kinds of meat due to a condition called Alpha Gal. I would need to use turkey instead of pork and turkey bacon in the soup. Would it still work? Thanks in advance!
Amelia Camurati says
Turkey would definitely work here, Jen! It would be a bit milder of a flavor than pork, but ground turkey will do!
Heather says
We made this for dinner yesterday and it was amazing. We used ground turkey because we had this one hand and it was still delicious!!! Very flavorful.
Cheryl Malik says
That sounds perfect!
Angela says
I made a double batch of this last night and loved it, and although I did make some additional substitutions /changes, I don’t think the changes were far off from how it was written.
I used a blend of sweet and spicy chicken sausage and skipped the additional red pepper flake. I added in a celery rib to my onion and garlic, used 1 cup of Pinot Grigio (not Whole 30) to deglaze the pot before adding in the broth, and then reduced the amount of broth added in by 1 cup. I did not add the bacon into the batch at the end, and instead left it as a topping (I have a teenaged child who has an aversion to pork bacon).
It was so tasty! I’m so glad I made a double batch!
Jessica V says
Made this several times and LOVE it. Has anyone tried it successfully in an InstantPot? 40Aprons, do you have instructions for that method?
Amelia Camurati says
So far we only have a Crockpot option here but we’re working on it! 🙂
Nicole Williams says
This is the recipe that brought me to 40 Aprons because it’s so amazing and I’m so glad because I don’t know if my Whole30 would have become a complete change in my way of eating without loving so many delicious recipes such as this one. I have made it with cashew cream in place of coconut milk and love the additional richness/creaminess . I also prefer ground turkey to ground pork (and find myself reaching for her Italian sausage recipe in many dishes). I even adapted it to my Instant Pot! You know a recipe is worth adding to your arsenal when it’s not only wonderful and delicious – it’s forgiving and flexible!
Amelia Camurati says
Glad we could help Nicole!
BC says
Could this be adapted to the instant pot?
Savannah | 40 Aprons Team says
Great question! Feel free to try it and let us know how it goes. 🙂
Abigail Williams says
Thank you so much for the recipe! I love Zuppa Toscana, but I’m not a huge fan of coconut milk (unless it’s in Indian or Thai food). I loved the addition of cashew cream! This is going to make my Whole30 so much more enjoyable.
Amelia Camurati says
Glad we could help Abigail!
Areena says
This recipe sounds great but I’m wondering if oat milk would work instead of coconut milk?
Amelia Camurati says
Absolutely! Dairy milk or any of the alternatives would work here. Depends on your flavor preferences!
Amber says
This is easily in our rotation for meals. We did Whole30 and made it twice it and recommend it to others!
And idea how this would freeze? Or how to freeze it to make it an even easier go-to recipe?
Tiffany says
I made this using the sausage recipe as well, absolutely delicious!! The only thing I changed is I only used half a can of coconut milk because I am VERY sensitive to the taste of coconut and find it over powering in many recipes. I made a double batch and froze half for future easy grab and go lunches for work. Great recipe!!
Amelia Camurati says
Glad this one worked for you Tiffany!
Marni says
We absolutely love this recipe and have it on a regular rotation at our house! I’ve never substituted cauliflower for the potatoes, but I’m intrigued by the idea. How long should I cook the cauliflower after adding it to the soup? And frozen vs fresh cauliflower?
Amelia Camurati says
So glad you love this one Marni!
Marissa says
I’ve made this dozens of times with both fresh and frozen cauliflower and it works great. Just keep an eye on it and test it with a fork for doneness. You want it softer but not mushy. Usually about 8 min or so.
Helen says
Great recipe! Will be making this again!
Cheryl Malik says
I’m so glad you loved it!
Aimee Fox says
Second time making this week! Kids and family love it. Made the Italian sausage from recipe too thanks!
Cheryl Malik says
That’s awesome! I’m so glad y’all loved it enough to eat it twice in one week!!
Sarah R. says
I made this with store bought, ground Italian sausage and STILL added the spice blend to the meat…OMG so amazing and flavorful!!!!!!
Cheryl Malik says
Ooh, that sounds delicious!
Marci says
Can I freeze this and will it reheat ok?
Amber says
We have been using your Whole30 guide and it has made Whole30 feel easy! This recipe was SO good and we made another batch the next week to enjoy because we couldn’t get enough of it.
So many of your recipes has not only been okay or tolerable while on Whole30 but actually something that will be added to our recipes as go-to. So thank you for the yummy and healthy recipes and making life delicious!
Amelia Camurati says
I’m so glad we could make your Whole30 journey easier and tastier, Amber!
Kasey says
I’m on my first Whole 30 round and have made this recipe twice in the last 3 weeks! Friends and family loved it!! Thank you for providing such amazing recipes!!
Cierra says
So tasty! I’ve made this before, but with dairy and I couldn’t even tell the difference. My family ate the whole pot up! Thanks for the recipe!
Amelia Camurati says
So happy your family enjoyed it so much, Cierra!
Dani says
Hi Cheryl,
My entire family loved this one. We have a non pork eater at home and I had a hard time finding Whole30 compliant pork bacon, so I resolved to make this with turkey bacon. I took a short cut on the sausage as well and used a paleo chicken meatball brand. Then I went to Trader Joe’s and found a compliant pork bacon. So I decided to make both versions. Both were absolutely delish. Thanks again for the wonderful recipe!
Dani
Amelia Camurati says
We’re glad you loved it!
Carol Daprai says
2 questions. 1) Can this be made 2 days in advance if you just add the Kale at the end before you serve? I want to make a big batch for a dinner party
and 2) Can I leave out the onions or substitute something else? One of my guests can’t eat onions.
Savannah | 40 Aprons Team says
Yes to both of those questions!
Kristin says
We have loved this recipe for a while now, but the other night, I went to make it thinking I had more of the ingredients than I did. I am happy to say that it was still good even though I substituted some things, not as lovely as the original, but everyone gave it a thumbs up. I browned a cheese and herb chicken sausage I had, and then used some yellow colored flesh sweet potatoes, and alas, I also had no kale, but I had some green beans. Yummy.
Rachel Delcoco says
This is always a hit for us during our whole30 (and after). It has such a rich flavor, and it’s filling. I like to add more chicken broth to mine just from personal preference to thin it out a bit. So easy and delicious. Thank you for so many qualities recipes! This is one of our favorites!
Amelia Camurati says
We’re glad you love this! Extra chicken broth definitely makes it more soupy and stretches the recipe a little further!
Shannon says
Super good! The broth has an outstanding flavor on its own. I separated out the onions, kale and potatoes for my picky eater and he still loved it.
Amelia Camurati says
Love when we please a picky eater!
Andrea says
So easy, flavorful and delicious. I did as the recipe called for, but would do a leaner version next time…low-fat coconut milk, cauliflower instead of potatoes and maybe even skip bacon.