This Italian White Bean Soup is a delicious gluten & dairy free take on one of my family’s favorite soups. It is so simple to make, but has so many layers of flavor. The beans are so rich and buttery and the sausage adds some spice. It is a perfect dish for a chilly night!
*Originally Posted 09/2019; post updated 09/2020

What You Need:
- Spicy (or mild) Italian Sausage
- Onion
- Carrots
- Celery
- Garlic
- Chicken Broth
- White Beans (cannellini)
- Fresh Spinach
- Rosemary
- Bay Leaves
- Coconut Milk (for dairy free); if not dairy free – you can use heavy cream
- Salt & Pepper Flakes

Let’s Make Soup:
- I use a dutch oven for this recipe – you can use any soup pot. The oil gets added to the pot over medium heat. Then we add the sausage until mostly cooked through.
- Then we add in the aromatics (carrots, onion, celery & garlic) these get cooked with the sausage for about 3 minutes. This helps them start to develop flavor and soften a bit.
- The remaining ingredients (except coconut milk and spinach) get added in. We bring this to a boil and then reduce to a simmer for 15-20 minutes. Then discard bay leaves & rosemary sprig.
- The last step is to stir in the coconut milk (or cream if using) and the fresh spinach. The spinach will wilt perfectly into the hot soup. Remove from heat and serve!

How To Make This Whole30:
Many people have asked me how to make this Italian White Bean Soup Whole30 compliant and it’s actually very easy! The first thing to note is that you need compliant Italian Sausage. I like to get mine from Pederson’s Farms. You can get it online or I often find it at Sprouts!
The next thing to replace is the beans. Beans are not Whole30 compliant, but potatoes are! You can simply sub out the beans for two russet potatoes peeled & diced. They will cook while the soup is simmering.
You Might Also Like:
Instant Pot Chicken Pot Pie Soup
This post may contain affiliate links. Please read my disclaimer.


Italian White Bean Soup
Ingredients
- 1 Tbls Olive Oil
- 1 lb Spicy Italian Sausage ground
- 1 Yellow Onion small, diced
- 3 cloves Garlic minced
- 3 Carrots peeled & diced
- 2 stalks Celery diced
- 4 cups Chicken Broth
- 1 tsp Salt
- 1/4 tsp Crushed Red Pepper Flakes
- 2 Cans of White Beans (drained) 14.5 oz, cannellini
- 2 cups Spinach fresh
- 1 sprig Rosemary
- 2 Bay Leaves
- 1 cup Full Fat Coconut Milk
Instructions
- In a soup pot, heat oil over medium heat and cook the ground Italian sausage until mostly cooked through
- Then add in the onion, carrots, garlic and celery. Cook for 3 minutes until the onions are translucent and the carrots are slightly tender
- Add in the chicken broth, salt, pepper flakes, beans, rosemary and bay leaves. Bring to a boil and then reduce to a simmer. Let simmer for 15 minutes
- Discard rosemary and bay leaves. Stir in the coconut milk and spinach. Remove from heat and serve.
Absolutely LOVE this recipe! Turned our perfect and the only small change I made was using dried Rosemary instead of fresh. I paired the soup with take & bake bread for a perfect meal. My husband raved about this soup, despite disliking all “Italian” soups. Ha!
Thanks for sharing!
Woo hoo! I’m so glad that you guys loved it, thank you for sharing!
Do you rinse the beans after you drain them?
I don’t, but you can do it if you prefer that!
Is the coconut milk sweetened or unsweetened? I am in the middle of making the soup and have unsweetened.
Hi Lisa, I don’t normally get to comments as you are making the recipe, but you were correct in getting unsweetened. Hope you enjoyed it!
Has anyone tried to make vegan version?
Hi Rafa, I have not personally made a vegan version of this recipe, but I would love to know how it turns out if you try it!
I am making a vegan version right now and just subbed the Italian sausage for Field Roast brand vegan Italian sausage. Saute the vegan sausage first and remove to add it back later as it will fall apart if left to simmer for too long. You can add the sausage the last 5-10 mins of simmering. I also used veggie broth instead of chicken. The vegan sausage releases the same flavour and spices as real sausage for an aromatic and delicious soup!
This was amazing! We added 1 jalapeno pepper with seeds and doubled the both, everything else the same. I would add a little more beans, although my husband loved it as is.
So happy that you enjoyed it Penny, love the addition of the jalapeño! We love spice in our family too 🙂
Made this last night. It was delicious. A comfort food soup. I did not have bayleaves and I used cream instead of coconut milk. Paired it with a cheesy, zucchini cornbread. Cant wait for dinner tonight for leftovers
I made the soup today and it turned out perfect!! I forgot to add the minced garlic so I sprinkled garlic powder on top at the very end👍👍 it was excellent.
Can you make this in advance? Maybe add spinach when I make the next day?
Yes absolutely, it re-heats well with the spinach too!
Amazing. Absolutely amazing. Easy to make, easy to make my wife and 7-year-old daughter satisfied with this wonderful dish. Followed the recipe as written, and swapped out the coconut cream with heavy cream. (Added the red pepper flakes after, versus incorporating during cooking, on account of my young one’s aversion to spiciness.) And, when serving, we topped with some freshly grated parmesan! A gorgeous dish indeed.
This looks delicious! Do the leftovers freeze well? Should I leave the spinach out if freezing?
I have not tried freezing this, so I am not sure how well it would work.
I made this last night and it was so good I had a bowl for breakfast today too. The flavors are incredible and it’s so satisfying. Great recipe!
This soup is sooooooo good and it’s a nice break from similar-ish soups that call for potatoes. We I prep a soup for our lunches every week so im tried a lot and this is definitely my favorite. Even better than the Zuppa Toscana we eat a lot.