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
Do you have the serving size and nutritional breakdown for this recipe. I just had a bowl full and it is soooo good!!
Hi Laura! I do not provide nutritional information for my recipes, and you can read more why here: https://kalejunkie.com/why-i-decided-not-to-include-nutrition-information-on-my-blog/
Soooo good. I double the recipe and added one cup of white wine to give the broth some complexity. Next time I think I will add a bit more carrots… but super good!
Yum! That sounds like the perfect addition to this recipe, Jen! Thank you so much for making it, and for leaving such a kind review!
It was very tasty. This my going to be my third time making this recipe.
I am so glad that you loved this recipe, Niqua! Thank you so much for making it, and for leaving such a kind review!
It was very tasty. Especially with some nutritional yeast on top. This my going to be my third time making this recipe.
Woohoo! Nutritional Yeast sounds like a delicious addition to this recipe, Niqua! Thank you so much for making it, and for leaving such a kind review!
YUM! Just made this for dinner tonight & it was super easy to make + extremely flavorful. Thank you for another fabulous recipe Nicole. Xoxo.
Woohoo! I am so thrilled that you loved this recipe, Christin! Thank you so much for making it, and for leaving such a kind review!
I was tasked to make this recipe as part of an Italian themed NYE dinner. I followed your instructions and it turned out beautifully! Everyone loved it. Thanks for sharing!
Woohoo! I am so happy that this recipe worked out well for you, Ted! Thank you so much for making it, and for leaving such a kind review!
Just made this soup and it is DELISH!! How would it freeze? I should have doubled it!! I will for sure next time! Love, love, love the red pepper kick!!
Woohoo! I am so thrilled that you enjoyed this recipe, Emilie! It freezes well – I love keeping this soup in my freezer for rainy days!
Yum! Just made this soup tonight and loved it! Blending the two cups with immersion blender gave it a great consistency, and the flavor was incredible, loved the kick from red pepper flakes. Can’t wait to make it again, I wouldn’t change a thing.
I’m thrilled that you loved this recipe, Natalie! Thank you so much for making it, and for leaving such a kind review!
This was absolutely delicious! The spices and ingredients were a fantastic combination of flavors. Topped it with roasted tofu and sautéed mushrooms and it was a hearty dinner. Thank you for sharing the recipe!
Yum! Roasted tofu and mushrooms sounds like a delicious addition to this soup, Ann! Thank you so much for making it, and for leaving such a kind review! xoxo
Great recipe! Very flavorful. The article has some very good advice on making a good soup. I have never thought of sauteing vegetables to enhance flavor. Next time I make this, I’m going to saute with bacon and add some sweet Italian sausage.
I am so glad you enjoyed this recipe and this post, Sheryl! So much love goes into writing these posts, so it warms my heart when people read them 🙂 Thank you so much for your review!
This is one of our favorite recipes. Talk about simple and delicious. The fact that there is no dairy, and you can freeze this soup is a game-changer. We used homemade chicken stock for a little extra flavor. I also brown and drain mild Italian sausage, which I add at the end.
It’s satisfying and warming without being heavy, and it’s super inexpensive to make. This has made it into our recipe rotation, for sure.
Meredith, thank you so much for your kind and thorough review! I am so thrilled that you love this recipe so much, and I appreciate all of your support!
Made this and added fire roasted tomatoes and some parm cheese on top! Yummy.
Yum! Thank you so much for your review, Jenn!