I know how much y’all love easy and healthy recipes, so it’s no surprise that this one-pot Creamy White Bean Soup with Kale is a community favorite!
- Everyday ingredients. You probably already have most of these ingredients in your kitchen and pantry! No fancy or specialty ingredients required.
- Hearty and Creamy. This is rustic comfort food that will feed your soul and is so creamy!
- Wholesome and Nourishing. Despite being creamy, this soup is wholesome, vegan, and gluten-free. It’s thickened naturally (no cashews, coconut milk, or soy), so it’s also allergen-friendly.
- Extra Flavorful. Thanks to a few secret ingredients and techniques, this soup is packed with a ton of flavor and a surprisingly zesty finish.
Three techniques for making soup extra flavorful
I’ve had a lot of bean soups before, and they’ve been nice…but they usually skimp on flavor. As someone who loves flavorful curries and Asian-inspired soups, I often find traditional Western soups/stews to be on the bland side, so I always work extra hard to make the flavors pop.
1) Use a Bouquet Garni
A bouquet garni is a French term for a bundle of herbs tied together. I often rely on this technique to infuse soups and stews with a deep fragrance. It adds more complex flavors than simply adding some dried herbs.
Dried herbs can come in handy when in a pinch, but I use fresh herbs in recipes where I know it’ll make a difference. Plus, dried varieties of herbs like rosemary and sage simply don’t compare to their fresh counterparts.
In this soup, I use rosemary, sage, and bay leaves (dried bay leaves are totally A-okay, that’s what I use). Rosemary and sage pair really well with cannellini beans, but you could also use thyme or even oregano if you can’t find either.
If you don’t have kitchen twine, you have two options: (1) just add the herb sprigs into the pot; use tongs to remove them after cooking; or (2) chop the herbs (not the bay leaves) and sauté them when you add the garlic. This latter method requires more prep though.
For another flavor-packed soup that uses a bouquet garni, try my Pumpkin Lasagna Soup!
2) Add zest with Gremolata
Another fancy word, but it’s made with just four simple, everyday ingredients and takes five minutes to prepare. This time, the word comes from Italian, and it refers to a chopped herb condiment.
Traditionally, gremolata is made with lemon zest, garlic and parsley, though lots of flavor variations abound. I use these three classic ingredients, along with basil, which adds such a nice fresh, fragrant note. Also, as with rosemary and sage, basil pairs beautifully with cannellini beans.
Love the sound of gremolata? Try these Lemon Orzo Pasta Salad.
Tip: The white pith underneath the lemon peel is quite bitter, so be sure to not zest too deeply, or you’ll end up with pith in your gremolata.
I make the gremolata while the soup is simmering, and stir it into each bowl when ready to serve. I promise you it will take your soup from good to AHMAAZING. It adds an incredible amount of bright, lemony freshness that makes every bite sing!
3) Finish with Extra Virgin Olive Oil
The final flavor booster in this creamy white bean soup is the simplest: I drizzle a bit of extra virgin olive oil over each bowl right before serving. Since this soup is quite low in fat naturally, a swirl of a good-quality 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.
Tip: use your good-quality extra virgin olive oil for this! A plain old olive oil is not going to do anything for this soup except make it a bit oily.
Three ways to make healthy vegan soup creamy
This white bean soup is naturally creamy from just two ingredients (and one cooking technique), and no there’s no coconut milk or cashews involved!
First, cannellini beans. They are one of the creamiest beans out there, and I absolutely adore them. If you cannot find them, you can substitute another white bean, but the soup won’t be as creamy. To fix that, you can try adding more potatoes than called for in the recipe.
Speaking of potatoes, they are the second ingredient behind the creamy texture. 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).
And finally, the last secret to the creamy texture (despite this soup being low in fat) is partially blending the soup! Blending half of the soup before adding the kale thickens up and creamifies the soup, while still retaining a good deal of texture.
To keep this recipe a one-pot meal, I use an immersion blender to blend roughly half the soup. Make sure to not blend all of the soup, as you want to keep some beans intact and retain some of the texture. If you want a smoother texture or don’t have an immersion blender, use a stand blender. Transfer half of the soup to the blender, replace the center cap with a dish towel to allow steam to escape, and blend until thick and creamy. Return the blended soup to the pot.
Gather your ingredients!
Heat a Dutch oven (affiliate link) or large soup pot with the olive oil over medium-high heat. Add the sweet onion, carrots, and celery, and season with salt. Cook until just starting to brown, 6 to 8 minutes.
Add the garlic and red pepper flakes and sauté for 1-2 minutes. Pour in the vegetable broth, scraping up any of the fond (browned bits) on the bottom of the pan.
Add in the cannellini beans, diced potatoes, artichokes (if using), the bouquet garni, and salt/pepper.
Bring the soup to a boil, then reduce the heat and cover. Simmer for 15 minutes, or until the potatoes are tender.
Blend half of the soup, using an immersion blender (or transfer to a stand blender) until creamy, then mix well.
Add in the chopped kale and simmer for 3-5 minutes, until tender but still bright green.
While the soup is cooking, make the gremolata. Finish the soup with gremolata and extra virgin olive oil.
Tips for making this soup
I begin the soup in a manner similar to many soups: sautéing onions, garlic, and celery in olive oil. I also add some red pepper flakes just for a slight kick. The amount called for in the recipe is just enough so you get a kick once in awhile, but if you’re very sensitive to spicy food, omit the red pepper flakes.
Be sure to dice the potatoes very finely. If you just roughly chop, they will take more than 15 minutes to get tender.
The recipe includes a range in the amount of vegetable broth: 3 1/2 to 4 cups. It depends on the desired texture you’re going for. Both versions will be thick and chunky and hearty, but 3 1/2 cups broth will bring it closer to a stew than a soup. When reheating the soup, if it’s too thick for your taste, reheat on the stove with a few splashes of vegetable broth.
The recipe calls for lacinato kale (aka dino kale, aka Tuscan kale) because this feels like a Tuscan soup, so I wanted to use “Tuscan” kale. But curly kale will also work fine, but since it’s tougher, it might need a few more minutes to become tender.
This is by no means necessary, but if you have an open bottle of a dry white wine (think Pinot Grigio, Sauvignon Blanc, etc.), feel free to deglaze the pot with 1/4 to 1/3 cup of that for an extra dimension of flavor.
Frequently Asked Questions
Yes! There are instant pot instructions in the recipe card below.
Yes, but you’d need to cook the dried beans in advance, since this is a quick-cooking soup (only 15 minutes of simmering). You’d need about 1/2 pound (227g) dried beans.
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.
If you are planning to eat this soup on the day you make it or in the next day, add the gremolata at the time you finish making the soup.
If you plan to enjoy this soup throughout the week, I recommend sprinkling the gremolata over only the amount of soup you plan to eat on that day. Then, to preserve the gremolata better, store it in a glass jar and cover with extra virgin olive oil.
Store the gremolata-olive oil mixture in the fridge for a few days, and you can pour that directly on your soup when ready to reheat and eat. No need to finish the soup with extra virgin olive oil, since you’ll already have some from the gremolata oil.
Store leftovers in an airtight container in the fridge for up to 5 days.
And yes, this soup freezes well! Transfer cooled soup to a few small airtight containers, or silicone storage containers like these super nifty Souper Cubes (we love using these 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.
Feel free to garnish this soup with croutons, 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.
More delicious white bean recipes
In the mood for even more white bean recipes? Give these a try:
- Vegan Instant Pot White Bean Soup
- Vegan Gambian Peanut Stew (Domoda)
- Creamy White Beans with Kale and Wild Rice
If you give this White Bean and Kale Soup a try, be sure to tag me on Instagram with your recreations and please comment with your feedback below!
Watch! How to make Creamy White Bean Soup with Kale
- 1 tablespoon olive oil*
- 1 large sweet onion (or yellow onion or leek), diced
- 3 sticks of celery, diced
- 3 medium carrots, diced
- 6 garlic cloves, chopped finely
- ½ teaspoon crushed red pepper flakes
- 3 ½ cups (840 mL) low-sodium vegetable broth**
- 1 teaspoon kosher salt + more to taste
- 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
- 1 medium Yukon gold potato (about 6 ounces or 170g), peeled and finely diced
- 2 (15-ounce/425g) cans of 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)
- 1 small head of lacinato kale, center rib removed and shredded (about 1 small bunch)
- Good-quality extra virgin olive oil (for finishing)
- 1 loosely packed cup (12g) fresh Italian flat-leaf parsley leaves
- ½ loosely packed cup (8g) fresh basil leaves
- 2 large garlic cloves, left whole and peeled
- 2 medium lemons (I prefer organic since we're using the peel)
- Coarse or flaky sea salt
- 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, 6-9 minutes.
- Add the garlic and red pepper flakes, and cook another 1-2 minutes until very fragrant.
- Pour in the vegetable broth and deglaze the pot, stirring 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.
- 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.
- Transfer half of the soup to a blender and blend until thick and smooth. Then return this pureed soup back to the pot. Or, you can run 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-5 minutes, or until the kale is tender but still bright green. Taste for seasonings, adding more salt as needed. When the soup is done, remove the bouquet garni.
- 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.
- Select the Sauté setting on the Instant Pot and let the pot heat up for a few minutes before adding the olive oil. Once the oil is 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. Add a bit more oil as needed, since the Instant Pot inner pot is stainless steel.
- Add the garlic and red pepper flakes, and cook for 1 minute, stirring frequently to prevent burning.
- Pour in the vegetable broth to deglaze the pan, using a wooden spoon to 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.
- Select the Pressure Cook setting at high pressure for 7 minutes.
- Meanwhile, make the Gremolata (instructions are listed in the stovetop method above).
- Once the 7-minute timer goes off, allow a natural pressure release for 10 minutes and then switch the Pressure Release knob from Sealing to Venting to release any remaining steam.
- Use an immersion blender throughout half of the soup, but be sure to not blend it all – you want to retain some texture. Or, transfer half of the soup to a stand blender and blend until creamy.
- Once half of the soup is blended, 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.
- 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.