This is one of the most popular recipes on my blog, and for a good reason: it’s thick, delicious, and loaded with tender white beans, soft-cooked veggies, and just the right amount of spice to satisfy any palate. Introducing my Hearty Tuscan White Bean Soup, a vegan-friendly soup recipe that will keep you fueled all winter long! It’s perfect for meal-prepping or enjoying on a cold and cozy winter night… preferably with a slice of thick, crusty bread.

Friends, I have to admit: I’ve been on a roll with my soup recipes this season. From my Healthy Baked Potato soup to my Hearty Broccoli Potato Soup, to my Cozy Lemon Chicken & Rice soup (aka avgolemono), I have been having SO much fun testing new soup recipes this season! I just know, come these cozy and cold winter months, I’m going to be so grateful that I have an arsenal of soup recipes to chose from, and I know you will be too!
One of the things that I love so much about soup is that it’s universal. Almost every culture (that I can think of!) has a soup recipe, and I’ve yet to meet anyone who said that they didn’t like soup! Soup truly is a universal love language, and I personally can’t get enough of it.
Plus, soups are SO easy to customize to meet any diet or lifestyle preference! This soup in particular is naturally gluten-free and vegan-friendly (as well as grain-free and sugar-free, and paleo-friendly), so it fits a wide range of different diets. I truly see this soup recipe as being a new staple in your winter cooking lineup, and I can’t wait to see how you all recreate it.


What Makes a Good Soup?
You might be wondering, what *truly* makes a good soup? And friends, do I have the answer for you! A good soup requires only a few simple steps to ensure that it turns out perfect, every time.
01. – Use a High Quality Broth
Contrary to popular belief, your broth can either make or break your soup. In my opinion, a good broth is essential to any soup recipe – I just won’t make soup without it!
Now, you have a few different options as for what constitutes a “good” broth. In general, I recommend using a high quality bone broth or a homemade veggie broth. I should also note that you can absolutely make your own bone broth too, but a pre-bottled bone broth works just fine.
The reason I recommend using a homemade veggie broth is for two reasons. First, because the flavors get more concentrated and you can really get that rich, veggie flavor. And two, because it’s so easy to make! Just take your veggie scraps that you save throughout the week, freeze them, and then, when you’re ready to make broth, simply simmer them for 3-4 hours in a pot of water on the stove.
It’s easy, delicious, requires no extra cost, and is the perfect staple to have on-hand!

02. – Season Sparingly
This one might seem counterintuitive, but hear me out. It’s actually better to slightly under season your soup, rather than over season it.
The reasoning behind this one? Because as the soup sits, the flavors will only develop stronger! And since most people tend to make soup in large batches, so that they have leftovers, over seasoning can make you run the risk of having a soup that’s too salty.
Now, don’t be afraid to season your soup – that’s not at all what I mean! Rather, just be mindful of your salt, your pepper, and your herbs. A little can go a long way!
03. – Double or Triple Soup Recipes
Like I mentioned in the last point, soup tends to develop over time, which means that soup leftovers are infinitely better than freshly made soup. This is just a fact, and I will stand by it!
Whenever I make soup, I always make sure that I at least double the recipe that I’m making. This ensures that I always have plenty of soup for leftovers for the next few days! And if you want to make even more and freeze it, that’s also another great option, too.


What You Need to Make This Hearty Tuscan White Bean Soup
- Olive Oil: Any neutral oil really works here, but I recommend olive oil. Why? It’s full of heart-healthy fats, and adds the absolute best flavor to this soup!
- 🧅 Onion: Any type of onion will work well in this recipe!
- Shallots: Shallots are one of my favorite ways to add flavor to a dish! Shallot is from the onion family, and I always use a large one and slice it thin!
- 🧄 Garlic: Garlic is another soup “must”! I fully believe that there’s no such thing as too much garlic… in soup, and in anything else!

- 🥕 Carrots: Carrots are rich in Vitamin A, and are delicious sliced up in this soup!
- Celery: Celery adds a bitterness, but in a gentle way that enhances the overall flavor of the soup.
- 🫘 Cannellini Beans: Cannellini Beans are full of healthy fats, vitamins, and plant-based protein, making them a triple threat and the perfect bean to include in this soup!
- Bay Leaves: Bay Leaves add a richness to the broth, but just make sure to remove them before you eat!
- Spices: In this recipe, we will be using a combination of Italian Seasoning, red pepper flakes, sea salt, and black pepper!
- 🍜 Vegetable Broth: Like I mentioned above, I recommend using a homemade veggie broth, if you have the time to make it. But if not, any veggie broth will do!
- 🥬 Spinach: Spinach is delicious, full of antioxidants, and also adds a beautiful vibrant green color to this soup!


How to Make This Cozy & Comforting White Bean Soup
To make this soup, start by heating the olive oil in a large soup pot or dutch oven, on the stove, over medium-low heat. Next, dice the onion, garlic, and shallots and add them to the hot oil. Stir and sauté them for 3-4 minutes, until the onion is translucent. Then, was and chop the carrots and celery and add them to the pot. Sauté for another 7-10 minutes – this is really important to ensure that the flavors build.
Prepare the beans. Rinse and drain the cannellini beans, and add them to the pot along with the bay leaves, Italian seasoning, red pepper flakes, vegetable broth, salt, and pepper. Bring the soup mixture to a boil, then reduce the heat to low, cover, and simmer for another 15 minutes. Next, remove the cover to pull out and discard the bay leaves.
Then, blend the soup. Transfer two cups of the soup to a high-speed blender and blend until it’s thick and creamy. Once the soup is blended, return it to the pot and stir generously. Finally, add in the spinach and stir until it’s wilted. Once the soup is done, transfer it into bowls. Garnish it with fresh chopped parsley, if desired, serve with crusty bread, and enjoy!

Frequently Asked Questions
You can! Just be sure to soak and rehydrate the beans overnight, to ensure that they’re ready to be added to this recipe.
You can use any broth of your choosing! While this recipe calls for vegetable broth in order to make it vegetarian-friendly, you can also substitute chicken broth, beef broth, or any broth of your choosing!
Yes! Simply prepare the soup as directed, then allow it to cool. Once cooled, transfer it to an airtight container or large mason jar and store it in the fridge for up to one week, or in the freezer for up to one month!
I recommend garnishing this soup with fresh chopped parsley and a side of crusty bread. Yum!
If you make this recipe, please be sure to leave a comment and rating below! And since I practically live on Instagram, be sure to tag me in your creations so I can see them and repost on my IG stories! Enjoy! xx
If you make this recipe, please be sure to leave a review and rating below! To see more recipes and behind the scenes, follow along on Instagram, TikTok, and Youtube! I’m also now on Pinterest, so stop by and take a look at what’s new.
** Photography by Gayle McLeod

Equipment
- Dutch Oven a sturdy dutch oven is perfect for making all of your cozy soup recipes!
Ingredients
- ¼ Cup Olive Oil, extra virgin
- 1 Small Onion, diced
- 2 Medium Shallots, chopped
- 4 Cloves Garlic, mashed
- 2 Carrots, chopped into coins
- 2 Celery Stalks, diced
- 3 15 Ounce Cans Cannellini Beans, drained and rinsed
- 2 Bay Leaves
- 1 Tablespoon Italian Seasoning
- ½ Teaspoon Red Pepper Flakes
- 5-6 Cups Vegetable Broth
- ½ Teaspoon Sea Salt
- ¼ Teaspoon Ground Black Pepper
- 3 Cups Fresh Spinach
Instructions
- To make this soup, start by heating the olive oil in a large soup pot or dutch oven, on the stove, over medium-low heat.
- Next, dice the onion, garlic, and shallots and add them to the hot oil. Stir and sauté them for 3-4 minutes, until the onion is translucent.
- Then, was and chop the carrots and celery and add them to the pot. Sauté for another 7-10 minutes – this is really important to ensure that the flavors build.
- Prepare the beans. Rinse and drain the cannellini beans, and add them to the pot along with the bay leaves, Italian seasoning, red pepper flakes, vegetable broth, salt, and pepper.
- Bring the soup mixture to a boil, then reduce the heat to low, cover, and simmer for another 15 minutes.
- Next, remove the cover to pull out and discard the bay leaves.
- Then, blend the soup. Transfer two cups of the soup to a high-speed blender and blend until it's thick and creamy.
- Once the soup is blended, return it to the pot and stir generously.
- Finally, add in the spinach and stir until it's wilted.
- Once the soup is done, transfer it into bowls. Garnish it with fresh chopped parsley, if desired, serve with crusty bread, and enjoy!
Rate & review
SELECT A RATING and tell me what you think!
What others are saying
Had white cooked kidney beans in fridge that I was afraid it would not get eaten. Saw this recipe snd went with it. I did not have my Italian seasoning so I used what I had. Oregano, basil, rosemary and fennel seeds. Had green beans to use up so in it went. I added Parmesan rind. Used chicken stock. Topped the soup with fresh minced parsley and grated Parmesan cheese. Excellent!! I will put in some Italian sausage next time for an another variation .
I am so glad it turned out well for you, Tonnie! Thank you so much for making it, and for leaving such a kind review!
I went a little heavier on the garlic and onion than the recipe calls for, but this soup is fantastic! I’m going vegetarian for a month to see if it helps improve some health issues I’m having. It was a daunting thought initially, but recipes like these make the change seem manageable.
I’m also set with lunches for the week with this single batch, so that’s another plus. I’ll definitely be trying more soup recipes from here in the near future.
I am so thrilled to hear that, Varsha! Thank you so much for making this recipe and for leaving such a kind review!
Wow! Loved it. Easy, fast and delicious. Thanks for this recipe. Also used the chicken stock and served with italian sausages.
I love this soup! Thank you! have made it several times. The recipe is perfect the way it is written. But….cTonight I only had two cans of beans so I added some chopped zucchini, mushrooms and a little red pepper. I also was short on vegetable broth so I added a can of fire roasted diced tomatoes. It was delicious.
I am so happy it worked out well for you, Gail! Thank you so much for making this recipe and for leaving such a kind review!
This Soup is absolutely DELICIOUS!!! I will make this very often!! I can’t seem to find the nutritonal info on the site….Gisela
Love this recipe. Turned me on to eating a healthy soup with beans and spinach.
I now make double the batch and freeze Freezes great. ❤️❤️❤️❤️❤️
I am so happy to hear that, Edith! Thank you so much for your review!
We love to have a pot of soup available throughout the week for quick meals. I made this yesterday and it is delicious. I used chicken broth because I didn’t have any vegetable broth on hand, though I usually do. I added about a cup of chopped cabbage and a cup of chickpeas because I needed to use them, and leeks instead of shallots because again, I didn’t have any on hand. Next time I will use the veggie broth for our meatless Monday meal. Thanks for the recipe, it is really delicious and healthy and easy to tweak with what you have on hand or to your taste.
Those sound like delicious additions to this soup, Barbie! I’m so glad you found a variation that works for you. Thank you so much for making it and for leaving such a kind review!
I need to know Carb count of this soup….I’m on Keto diet and have to have low CARBS?
Hi Bette! While I don’t provide nutritional information for my recipes, you can easily plug the ingredients into an app like MyFitnessPal and get the macros that way!
Wonderful recipe, the only changes I made were I used chicken stock, and added a rind from my parmigiano-reggiano . All you need is a slice of fresh sourdough bread and you’re in heaven…
Yum! That sounds so delicious, Merrily! Thank you so much for making this recipe and for leaving such a kind review!
I made this soup tonight and added chicken stock because that is what I had in the house. I’m honestly surprised at how delicious it tastes! Can’t recommend this recipe enough!!
Made this tonight and it is delicious. Unfortunately, the package of baby kale I purchased two days ago wasn’t worthy of adding. It was still great without the added greens.
Hi! The recipe says 3 15 ounce cans. Is that right? Sounds like so much to me.