The Best White Bean Soup delivers creamy texture, aromatic depth, and weeknight speed in a single pot.
If you’ve ever dismissed canned beans as boring pantry filler, this recipe might change your mind. A handful of vegetables, a sprig of rosemary, and a quick simmer transform humble cannellini beans into something thick, comforting, and surprisingly sophisticated. The secret lies in a classic Italian soffritto—onion, carrot, celery, and garlic cooked slowly in olive oil—which builds a flavorful base that carries the entire soup. Add chunky potatoes for body, optional spinach for color, and a splash of non-alcoholic white grape juice for brightness, and you’ve got a vegan, budget-friendly bowl that tastes like you spent far more time on it than you actually did.
This soup comes together in about 25 minutes, making it a reliable option when you need something nourishing without much fuss. The texture sits somewhere between brothy and stew-like, thick enough to coat a spoon but still light enough to feel like soup. Rosemary adds an earthy, aromatic note that makes the kitchen smell incredible, and a drizzle of good olive oil at the end ties everything together. If you’re not keeping it vegan, a handful of grated parmesan brings a salty, umami punch that makes the soup feel even richer.
How to Make Creamy White Bean Soup Step by Step
STEP 1: Warm the olive oil in a large pot over medium heat. Once the oil shimmers, add the diced onion, carrot, and celery. Cook, stirring often, until the onion softens and turns translucent, about 5 minutes. This soffritto step builds the flavor foundation, so don’t rush it.
STEP 2: Add the garlic, drained beans, tomato paste, potato chunks, rosemary, and paprika if using. Stir frequently for about 1 minute, letting the garlic bloom and the tomato paste deepen in color.
STEP 3: Pour in the halal vegetable broth or non-alcoholic white grape juice. Stir well and let it simmer until the liquid reduces slightly, about 1 minute. This step adds a bright, acidic note that balances the richness of the beans.
STEP 4: Add the frozen spinach, vegetable broth or hot water, and a good pinch of salt and pepper. Raise the heat and bring the mixture to a boil, then cover the pot, reduce the heat, and simmer gently for 15 minutes.
STEP 5: Check that the potatoes are tender and the soup has thickened to a creamy consistency. Remove the pot from heat, fish out the rosemary sprig if you used a whole one, and taste for seasoning. Adjust salt and pepper as needed.
STEP 6: Divide the soup into bowls, drizzle with olive oil, and add freshly ground black pepper if you like. Serve with crusty whole-grain bread, and if you’re not vegan, finish with grated parmesan for extra depth.
What You’ll Need for the Best White Bean Soup
This soup relies on straightforward pantry staples and a few fresh vegetables, all working together to create something greater than the sum of their parts.
- Cannellini beans – the creamy, mild base that makes the soup hearty and protein-rich without any soaking or long cooking.
- Onion, carrot, and celery – the classic soffritto trio that builds aromatic depth and sweetness.
- Garlic – adds sharpness and warmth to the flavor base.
- Potatoes – break down slightly as they cook, thickening the broth and adding body.
- Rosemary – brings an earthy, piney aroma that makes the soup smell like an Italian kitchen.
- Tomato paste – deepens the color and adds a subtle umami backbone.
- Non-alcoholic white grape juice or halal vegetable broth – provides acidity and brightness, lifting the other flavors.
- Frozen spinach – optional, but adds color, texture, and a boost of nutrients.
- Olive oil – used for cooking and finishing, adding richness and a fruity note.
- Vegetable broth or hot water – forms the liquid base, letting the beans and vegetables shine.
- Paprika, salt, and black pepper – round out the seasoning and add warmth.
Secrets for Thick, Flavor-Packed White Bean Soup
- Don’t skip the soffritto step. Cooking the onion, carrot, and celery slowly in olive oil until they soften and sweeten is what gives this soup its deep, layered flavor. Rushing this part leaves the soup tasting flat.
- Let the potatoes cook fully. Undercooked potatoes will feel grainy and won’t release enough starch to thicken the broth. If the soup still feels too thin after 15 minutes, simmer uncovered for a few extra minutes to reduce the liquid.
- Taste before serving. Beans and potatoes absorb a lot of salt, so the soup often needs more seasoning at the end than you’d expect. Add salt gradually, tasting as you go, until the flavors feel balanced and bright.
- Use a whole rosemary sprig if you have one. It’s easier to remove before serving, and it infuses the soup with aroma without leaving woody bits behind. If you’re using dried rosemary, start with half a teaspoon and adjust from there, it’s more concentrated than fresh.
Serving Ideas: What Goes Well with White Bean Soup
Serve this soup with crusty whole-grain bread or rustic sourdough for dipping—the thick texture clings beautifully to bread, and the contrast between soft soup and crunchy crust is deeply satisfying. A simple green salad with lemon vinaigrette balances the soup’s richness and rounds out the meal. If you’re not keeping it vegan, finish with grated parmesan or pecorino romano for a salty, umami depth that makes the soup taste even more indulgent.
White Bean Soup: Your Questions Answered
Can I use dried beans instead of canned? How would I adjust the recipe?
You can, but you’ll need to soak and cook the dried beans separately before adding them to the soup. Plan on about 1 cup of dried beans to replace the two cans, and simmer them in water until tender, usually 60 to 90 minutes. Once cooked, drain and proceed with the recipe as written, adding them at the same point you’d add canned beans.
What can I substitute for rosemary if I don’t have any?
Thyme works well and brings a similar earthy, herbal note without overpowering the soup. Use about a teaspoon of fresh thyme leaves or half a teaspoon of dried. Bay leaves are another option; add one or two at the start and remove them before serving. Avoid oregano or basil, as they’ll shift the flavor profile in a direction that doesn’t suit this soup.
Is it possible to make this soup without potatoes or spinach?
Yes. The potatoes add body and help thicken the broth, but if you skip them, the soup will be thinner and more broth-forward. You can mash a portion of the beans with a fork or potato masher to compensate. Spinach is entirely optional and mostly adds color, so leaving it out won’t change the texture or flavor much.
How do I make this soup even creamier?
Mash about a third of the beans and potatoes with the back of a spoon or a potato masher once the soup is done cooking. This releases starch and breaks down some of the solids, creating a thicker, creamier texture without adding any dairy. You can also blend a cup or two of the soup and stir it back in for a smoother consistency.
Can I freeze leftovers, and what’s the best way to reheat?
This soup freezes well for up to three months. Let it cool completely, then transfer to airtight containers, leaving a bit of headspace for expansion. Thaw overnight in the fridge and reheat gently on the stovetop, adding a splash of water or broth if it’s thickened too much. Stir occasionally to prevent sticking, and taste for seasoning before serving.
Storing Leftover White Bean Soup
Store cooled soup in an airtight container in the fridge for up to four days. The soup will thicken as it sits, so you may need to add a little water or broth when reheating. Warm it gently on the stovetop over medium-low heat, stirring occasionally, until heated through.
For longer storage, freeze in portion-sized containers for up to three months. Thaw in the fridge overnight and reheat on the stovetop, adjusting the consistency and seasoning as needed. Avoid reheating in the microwave at full power, as it can cause the soup to splatter and heat unevenly.

The Best White Bean Soup
Ingredients
Equipment
Method
- Heat 1 tablespoon of olive oil in a large pot over medium heat. When the oil shimmers, add the diced onion, carrot, and celery, and cook, stirring regularly, until the onion is soft and translucent, about 5 minutes.
- Stir in the garlic, drained beans, tomato paste, potatoes, rosemary (sprig, chopped, or dried), and paprika if using. Cook for 1 minute, stirring frequently.
- Pour in the halal vegetable broth or non-alcoholic white grape juice. Mix well and let it simmer for about 1 minute, until the liquid reduces slightly.
- Add the frozen spinach, vegetable broth or hot water, salt, and black pepper. Increase the heat and bring to a boil. Cover, reduce heat, and let it simmer for 15 minutes.
- Once the potatoes are tender and the soup has thickened to a creamy consistency, remove from heat and discard the whole rosemary sprig, if used. Taste and adjust salt and pepper as needed.
- Ladle the soup into bowls. Drizzle with a little olive oil or extra virgin olive oil, and add more black pepper if desired. Serve with crusty whole grain bread, and, if not keeping it vegan, top with freshly grated parmesan cheese.




