If a healthy, veggie-packed soup could achieve celebrity status, this Creamy White Bean Soup with Kale would be dodging paparazzi—its 500+ five star reviews confirm that this one is knock-your-socks-off good.
And it has earned the hype: it’s easy (one-pot and meal prep friendly!), wholesome (20g fiber + 17g protein!), and boasts a creamy texture, all without using dairy, coconut milk, or cashews.
And despite being so good for you, this soup doesn’t skimp on flavor. The soup is layered with lots of herby flavor thanks to a bouquet garni and a bright gremolata stirred in at the end.
The result? A luxurious, wholesome, A-list soup.
In this post:
Good for the body (and the tastebuds)
I’m on a lifelong quest to develop recipes that do good things for your body and even better things for your taste buds.
Which is why this soup is something of a personal triumph—it’s one of my most wholesome recipes (veggie-packed, protein- and fiber-rich) but it goes down like comfort food, thanks to:
- A creamy texture courtesy of protein-packed white beans and potatoes which, when partially blended, naturally thicken the soup (see my Creamy Vegan Broccoli Soup and Creamy Vegan Cauliflower Soup for more soups creamified by beans);
- Layers of robust flavor (a bouquet garni adds depth as the soup simmers);
- Gourmet vibes (shoutout to the gremolata and olive oil drizzle to finish!)
Oh, and did I mention this is a one-pot wonder? Add the fact that it’s allergen-friendly (free of nuts, soy, gluten, and dairy), meal prep friendly, and can be made in the Instant Pot (instructions in the FAQ section)…honestly, why am I still typing? Just go make this soup and thank me later.

🎥 Watch me make this soup!
With 1.6 million views on YouTube, this soup was a HUGE hit with my community. Click play to watch me walk through this soup from start to finish.
Ingredient notes

Fresh herbs
To make the bouquet garni, I use fresh sage and rosemary, plus dried bay leaves. All three pair really well with white beans.
Substitute: You can replace sage or rosemary with fresh thyme. While dried herbs can be used in a pinch, they simply do not add the same punch of flavor.
Cannellini beans
AKA white kidney beans. These are some of the creamiest beans out there. They’re also what make this Instant Pot Wild Rice Mushroom Soup stick-to-your-ribs comforting.
Substitute: If you can’t find them, use another white bean.
Yukon gold potatoes
When cooked down, potatoes naturally thicken this soup. I use just one medium Yukon gold potato, but if potatoes are your jam, feel free to add some more (you might want to add a bit more vegetable broth to compensate).
Substitute: If you only have sweet potatoes on hand, add a small sweet potato for a different flavor profile.
Lacinato kale
Also known as dino kale or Tuscan kale. This soup feels like it comes from the hills of Tuscany, so lacinato kale is the preferred option!
Substitute: Curly kale works but may take a few extra minutes to become tender. Baby spinach is fine too, but will add a softer texture.
Lemons
Lemon zest is a key element in gremolata and gives this soup its punchy finish. To prepare lemons for zesting, remove any produce stickers from the outside and scrub the peel very well before using. I prefer to use organic lemons for zesting.
Extra virgin olive oil
Because this soup is naturally low in fat, the olive oil at the end really takes it over the top, adding a rich and luxurious mouthfeel that’s often missing in plant-based soups.

Step-by-step instructions
Saute the vegetables. Heat the oil in a Dutch oven over medium-high heat. Once hot, sauté the onion, celery, and carrots until soft.
Next, add the garlic and red pepper flakes (you can leave these out if you don’t want the kick).
Deglaze the pot. Pour the vegetable broth into the pot and scrape up any stuck browned bits on the bottom.




Stir in the salt, pepper, bouquet garni, potatoes, cannellini beans, and artichokes.
Simmer the soup. Bring the soup up to a boil, then turn down the heat, cover with a lid, and simmer for 15 minutes.


Meanwhile, make the gremolata. Finely chop the parsley and basil. Grate the garlic over the herbs, then zest the lemon on top. Stir the garlic and lemon into the herbs. Chop the herbs once more until they’re finely minced. Finish with a sprinkle of sea salt.

Blend the soup. Once the potatoes are tender, turn off the heat and remove the bouquet garni.
Use an immersion blender directly in the pot to blend half of the soup (or transfer half of the soup to a stand blender and blend until smooth, and stir the blended soup back into the pot).
Add the chopped kale to the soup and simmer until tender. Adjust the seasonings.




Serve. Ladle the white bean kale soup into individual bowls. Sprinkle a generous amount of the gremolata on top and finish with a drizzle of extra virgin olive oil. Enjoy!

Tips for making this recipe
Watch the lemon pith
The white pith underneath the lemon peel is quite bitter. Be sure to not zest too deeply, or you’ll end up with pith in your gremolata. A microplane like this (or like this) is the best tool for getting the zest but not the pith.
No kitchen twine for the herb bouquet?
You have a few options to make your bouquet garni if you don’t have kitchen twine:
- Add the herb sprigs into the pot and use tongs to remove them after cooking; or
- MacGyver it: tie the herbs using a leftover scallion or the string from a tea bag; or
- Chop the herbs (not the bay leaves) and sauté them when you add the garlic.
Blend the soup partially (not fully)
Make sure to not blend the entire batch. Blending half of the soup before adding the kale creamifies the soup yet it retains a good amount of texture.
One-pot option: Run an immersion blender until roughly half of the soup is pureed.
Stand blender: For the creamiest texture, transfer roughly half of the soup to your stand blender. Remove the center cap and cover the blender with a dish towel to allow steam to vent. Blend until pureed.
Deglaze with wine for a flavor boost
If you have an open bottle of dry white wine (think Pinot Grigio, Sauvignon Blanc, etc.), feel free to deglaze the pot with 1/4 to 1/3 cup for an extra depth of flavor.
The toppings are non-negotiable
In a veggie-packed soup, we need a bit of indulgence. The drizzle of extra virgin olive oil at the end is not optional IMO. It adds much needed-mouthfeel and richness.
The gremolata, too, shouldn’t be skipped, as it adds lots of bright, fun flavor and helps this soup stand out.
But feel free to add extra toppings
Feel free to garnish this soup with croutons or crunchy roasted chickpeas (see my recipe on page 236 of Big Vegan Flavor), a sprinkle of vegan parmesan cheese, or homemade cashew parmesan.
We love serving it with slabs of seeded whole grain bread for a balanced, wholesome meal.
Use these flavor techniques elsewhere.
Tuck a bouquet garni into your next pot of beans, or try it with my Mediterranean Lentil Soup.
Gremolata is a lovely topping for crostini, roasted or grilled vegetables, pizza, and pasta, like my Lemon Orzo Pasta Salad.

Frequently Asked Questions
Yes!
1) Select the Sauté setting on the Instant Pot and let the pot heat up for a few minutes before adding the olive oil (you may need more than 1 tbsp to prevent sticking). Once hot, add the onion, carrots, and celery and a pinch or two of salt. Cook for 6-8 minutes, or until the vegetables are softened.
2) Add the garlic and red pepper flakes, and cook for 1 minute, stirring frequently to prevent burning.
3) Pour in the broth to deglaze the pan and scrape up any browned bits on the bottom of the pot. Add the 1 teaspoon kosher salt, black pepper to taste, bouquet garni, potatoes, cannellini beans, and artichokes (if using). Stir well.
4) Select the Pressure Cook setting at high pressure for 7 minutes. While the soup cooks, make the gremolata.
5) Once the 7-minute timer goes off, allow a natural pressure release for 10 minutes and then manually release any remaining steam.
6) Transfer half of the soup to a stand blender and blend until thick and smooth. Then return this pureed soup back to the pot and stir to incorporate. Or, use an immersion blender throughout half of the soup, but be sure to not blend it all – you want to retain some texture.
7) Now stir in the kale. Select the Sauté setting and heat until the kale is wilted, about 3 minutes. Taste for seasonings, adding more salt as needed. When the soup is done, remove the bouquet garni. Transfer to bowls, top with gremolata and olive oil, and enjoy.
Technically no, but it’s recommended! It really makes this soup unique and shine in flavor. Plus, it takes like 5 minutes and you can easily make it while the soup is simmering.
You can use 1/2 pound (227g) dried white beans but you’d need to cook them plain ahead of time (this is a quick-simmering soup, so the dried beans won’t cook through in it).
Store leftovers in an airtight container in the fridge for up to 5 days.
If you are not eating all the soup now, store the gremolata in a small jar and drizzle with some extra virgin olive oil for better storage in the fridge. You can spoon this herby oil directly on your soup when ready to reheat and eat instead of finishing with olive oil.
Yes, it freezes well! Transfer the cooled soup to a few airtight containers. We love using these nifty Souper Cubes for single-serve portions that are quick to defrost.
Freeze for up to 3 months, then thaw in the fridge overnight. Reheat on the stove or in the microwave.
If freezing, do not add the gremolata. Instead, make the gremolata fresh when you are ready to reheat the soup.


Introducing
Big Vegan Flavor
Techniques and 150 recipes to master vegan cooking.
Creamy White Bean Soup with Kale

Ingredients
- 2 tablespoons extra virgin olive oil
- 1 large yellow onion (or leek), diced
- 3 sticks of celery, diced
- 3 medium carrots, diced
- 6 cloves garlic, finely chopped
- ½ teaspoon red pepper flakes
- 3 ½ cups (840 mL) vegetable broth (see Note 2)
- ½ teaspoon Diamond Crystal kosher salt
- 1 medium (~6 oz or 170g) Yukon gold potato, peeled and finely diced
- 2 (15-ounce/425g) cans cannellini beans, drained and rinsed (or 3 1/2 cups cooked cannellini beans)
- 1 (14 ounce/400g) can artichoke hearts, drained and chopped finely (optional)
- Freshly cracked black pepper to taste
- Bouquet garni: 2 bay leaves + 1 large sprig of sage + 1 large or 2 small sprigs rosemary, tied tightly together with kitchen twine (see Note 3)
- 1 small head of lacinato kale, center rib removed and shredded (about 1 small bunch)
- 1 to 2 tbsp Good-quality extra virgin olive oil (for finishing)
Gremolata
- 1 loosely packed cup (12g) flat-leaf parsley leaves
- ½ loosely packed cup (8g) fresh basil leaves
- 1 clove garlic, left whole and peeled
- 2 medium lemons (I prefer organic since we're using the peel)
- Flaky sea salt
Instructions
- Heat the oil in a large Dutch oven or soup pot over medium-high heat. Once hot, add the onion, celery, and carrots, along with a pinch or two of salt. Cook until the vegetables are softened and starting to just turn brown, 8 to 10 minutes, stirring occasionally.
- Add the garlic and red pepper flakes, and cook another 1 to 2 minutes until very fragrant.
- Pour in a splash of vegetable broth to deglaze the pot as needed, stirring up any browned bits on the bottom of the pot. Add the remaining broth, potatoes, cannellini beans, and artichokes (if using), several cracks of pepper, and 1/2 teaspoon of kosher salt (1/4 tsp sea salt or table salt). Stir well. Nestle the bouquet garni into the soup.
- Bring the soup to a boil. Then reduce heat, cover the pot, and simmer the soup for 15 minutes, or until the potatoes are tender.
- While the soup is simmering, make the Gremolata. Finely chop the parsley and basil. Using a microplane, grate the garlic directly over the parsley and basil. Then zest the lemons on top of this mixture, taking care to not zest the white pith underneath the skin. Mix the garlic and lemon zest into the herbs and chop the herbs until they’re finely minced. Sprinkle with a bit of the coarse or flaky sea salt.
- When the soup is done simmering, remove the bouquet garni.Transfer half of the soup to a stand blender and blend until thick and smooth. Then return this pureed soup back to the pot and stir to incorporate. OR, for a one-pot option, use an immersion blender throughout half of the soup, but be sure to not blend it all – you want to retain some texture.
- Add the kale to the soup and simmer for 3 to 5 minutes, or until the kale is tender but still bright green. Taste for seasonings, adding salt to taste and a squeeze of lemon juice if desired.
- Serve the soup in bowls and sprinkle a generous amount of the Gremolata over each bowl and a drizzle of the extra virgin olive oil.If storing leftovers, add the gremolata to a jar, drizzle some olive oil in there, and refrigerate. Spoon this over leftover soup.
Video
Notes
- Instant Pot instructions can be found in the first FAQ in the blog post.
- Use 3 1/2 cups of broth (840 mL) if you want the soup to be very thicker; use 4 cups (960 mL) of broth for a slightly thinner but still chunky texture. If using low-sodium vegetable broth, you will need to use considerably more salt in step 3.
- Don’t have kitchen twine? You can do the following:
- Just add the herb sprigs into the pot and use tongs to remove them after cooking; or
- MacGyver it: tie the herbs using a leftover scallion, a long sturdy stem of parsley, or the string from a tea bag; or
- Chop the herbs (not the bay leaves) and sauté them when you add the garlic
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
















OMG!!! I was meant to make this recipe. I legit had only 3 carrots 3 ribs of celery, half of a very large onion and only 1 potato and spinach no kale. It was the best use of my ingredients. I boiled some chicken just in case for the meat eaters in the fam and they didn’t use any of it! The soup was fantastic! This will go into the rotation of easy family meals.
Bryt, So glad to hear everyone loved this recipe!
This was absolutely delicious! I added a can of coconut milk because I’m a bit of a junky. I also used dried whole leaf sage since that is what I had on hand and all the herbs tasted great in this soup. I will most definitely make this again!
Thanks for the lovely feedback, Emily!
So delicious! Full of flavour and goodness.
Thanks for the lovely feedback, Hana!
Loved it!!! I just made this for my non vegan family & they all thought it was delicious too! The gremolata was such a nice addition & flavor booster. This is definitely gonna be a new go to soup for me
Emily, So glad to hear you loved the soup!
This was such an easy and delicious soup! The artichoke hearts was a sweet surprise that adds a very special extra taste. I love the video steps – SO helpful. Fun fact: kale grows yearround in your garden – even in snowy climates! It is the champion of greens.
Thanks for the lovely review, Margo! And that’s a cool fact about kale!
Amazing! I seriously think this is my new favourite soup! I switched cannellini beans for what I had, butterbeans, and used persillade and dried herbs instead of bouquet garni because the fresh herbs are crazy expensive here, right now, and I also added extra chili and garlic because I love spicy food – and it still came out soooo comforting and yummy! 💚
Awesome, Zarah! Thanks for sharing your experience with us 🙂
made mine more soupy and substituted bokchoy for kale is unavailable in our area. The gremolata welcomes your palate with herby freshness. It is perfect for cold rainy day and even cleared my stuffy nasal passages.
Awesome, Meiji. Thanks for your comment and for taking the time to review!
I made this and it turned out delicious. Now I have leftover rosemary and sage that I bought for the bouquet garni. Are there other recipes I could use those in or is there a way to save them for next time I make this soup?
Hi Sue, we’re happy you loved the recipe! If you wanted to save these for future soups, they can be stored in airtight bags/containers in the freezer! Otherwise this cauliflower soup and pumpkin alfredo pasta use both. You can always just type “rosemary” or “sage” into the search bar of the website to find other recipes they can be used in. Another way to preserve herbs is by infusing them with oil in ice cube trays and freezing to make a delicious infused oil when heated.
Hope that helped!
Thank you! That is very helpful. I just made the soup again today and was absent-minded while I was making the gremolata. I used the juice of 2 lemons instead of the zest of 2 lemons. I have to say it might be even better this way! I’m not sure if the gremolata will keep as well though…but just thought I’d share that it does also work well with lemon juice.
Interesting to learn you think it tasted better with more lemon juice, Sue! Thanks for sharing and I’m glad you found the tips useful 🙂
The advertisements are making it very difficult to view your recipes. I’m older and not very techy, am I missing something??
This is a wonderful and warming soup. It was very flavorful just after making and, with more depth, very good leftover. Very simple to make.
We’re so happy you enjoyed the soup, Brian! 🙂