Some nights call for comfort, but not the kind that takes three hours and a sink full of dishes. This White Bean Soup shows up fast, tastes like it simmered all afternoon, and somehow manages to feel both cosy and put together. It's the kind of bowl you make once, then quietly memorise.
Built around pantry staples and finished with a hit of parmesan and greens, this soup leans simple in a reliable way. No overthinking, no unnecessary steps, just a spinach and white bean combo that delivers big flavour with little effort.

What Makes This White Bean Soup Work
- It's genuinely fast without tasting rushed. A clever use of canned beans and stock means you get depth and body in under 15 minutes, which makes this White Bean Soup ideal for weeknights when patience is low.
- Creamy without adding cream. Lightly mashing the beans thickens the broth naturally, giving you that cosy, spoon-coating texture without heavy ingredients or extra steps.
- Balanced and flexible. The spinach and white bean base keeps things hearty but not heavy, making this a simple bean soup that works as a starter, a main, or a fridge clean-out hero.
- Pantry-friendly and repeatable. Everything here is easy to keep on hand, which is why this bean soup recipe earns a permanent spot in the regular rotation.
What Goes Into White Bean Soup

This White Bean Soup keeps things simple with pantry staples and a few fresh touches that make it shine. Here are the key ingredients that bring comfort and flavor to every spoonful:
- White Beans: Cannellini beans are the star, giving the soup its creamy body and mild, nutty flavor without any heavy cream.
- Spinach: Fresh baby spinach wilts right into the broth, adding color, nutrients, and a light, earthy balance to the rich beans.
- Parmesan Cheese: A generous sprinkle of freshly grated Parmesan adds salty depth and a savory finish that ties everything together.
- Vegetable Broth: Using a good-quality broth creates a flavorful base and makes this a wholesome, meatless bean soup recipe.
Note: Please see recipe card at the bottom for a full list of ingredients with measurements.
Optional Add-Ins and Smart Swaps
Want to change things up without breaking the soul of the soup? These fit right in.
- Lemon Zest or Juice: A small squeeze at the end brightens everything and cuts through the richness.
- Fresh Herbs: Thyme, rosemary, or basil add another layer without complicating the recipe.
- Chilli Flakes or Chilli Oil: For a little heat that plays nicely with the creamy beans.
- Kale or Swiss Chard: Swap in sturdier greens if that's what you have on hand. Just give them an extra minute to soften.
On the stove

- Sauté Aromatics: Heat oil in a pot over medium-high. Add onion and garlic; stirring, until onion is translucent and garlic is fragrant.

- Build the Base: Pour in vegetable broth and drained diced tomatoes. Stir in sugar, Italian herbs, salt, and black pepper.

- Simmer for Flavor: Bring to a boil, then reduce to a gentle simmer. Cook for 5 minutes to let the flavors meld.

- Add Beans and Greens: Stir in the drained cannellini beans and baby spinach. Mix well to distribute everything evenly.

- Wilt and Finish: Simmer gently until the spinach wilts, about 2 minutes. Remove from heat and stir through the Parmesan.

- Taste and Serve: Taste and adjust salt and pepper. Ladle the soup into bowls and top with parsley and parmesan if desired.
This comforting White Bean Soup pairs beautifully with dishes that bring unexpected flavors to the table. Try it with Sun Dried Tomato Cheesy Meatballswhich add a rich, tangy bite and a little indulgence alongside the light, creamy beans.
For a lighter Mediterranean option Garlic Butter Caprese Portobello Mushrooms bring smoky depth and fresh tomato topping, making them the good earthy partner for this cozy soup.
Pro Tips From My Kitchen
- Mash with restraint. You want some beans broken down for body, but leave plenty whole so the soup keeps texture and doesn't turn into purée.
- Add spinach last. Spinach only needs a minute to wilt. Adding it too early dulls the colour and flavour.
- Use good parmesan. Freshly grated parmesan melts better and gives a smoother, more savoury finish than pre grated cheese. Bagged parmesan contains anti caking agents that turn into a gummy glue in hot liquid. Always grate it fresh from a block.
- Taste after the cheese. Parmesan brings salt, so always adjust seasoning at the end.
Recipe FAQ's
Can we Use Other Greens Instead of Spinach?Definitely. While this recipe is written as a spinach and white bean version, kale, Swiss chard, or arugula all work wonderfully.
What Type of Beans Work Best in This Bean Soup Recipe?Cannellini beans are traditional, but great northern or navy beans can also be used in this bean soup recipe for slightly different textures.
How Do we Thicken White Bean Soup Naturally?Mash a few of the beans against the side of the pot while simmering. This releases their starch and creates a creamier consistency.
How to stop cheese clumping and stickingAlways use freshly grated parmesan cheese. Bagged parmesan contains anti-caking agents that turn into a gummy glue in hot liquid. Always grate it fresh from a block. The recipe specifies taking the Dutch oven off the heat before adding the cheese. If the broth is actively simmering, the dairy proteins seize and cling to your pot and spoons.
Watch It Made
What you need
- 1 tablespoon olive oil
- 1 yellow onion diced
- 6-8 cloves garlic minced
- 6 cups vegetable broth or stock
- 15 ounces diced tomatoes canned, drained
- 1 teaspoon sugar
- 1 tablespoon Italian dried herbs
- 1 teaspoon kosher salt
- ½ teaspoon black pepper
- 4 cans white beans cannellini beans, drained and rinsed (can weight 14oz (400g) drained weight per can 8.5oz (240g))
- 4 cups baby spinach
- 3/4 cup parmesan cheese fresh grated, for serving
- 3 tablespoons flat-leaf parsley chopped, fresh
Method
- In a large pot or saucepan, heat olive over medium high heat. Add onion and garlic; cook until onions are translucent and garlic is fragrant (about 2-3 minutes), while stirring occasionally. Add in the broth, tomatoes, sugar, Italian herbs, salt and pepper.
- Bring to a boil, reduce heat and simmer for 5 minutes to combine all of the flavours together.
- Stir in the beans and spinach. Continue to simmer gently until the spinach has wilted, (about 2 minutes).
- Take off heat. Stir through the parmesan cheese. Taste test, adjust salt and pepper if needed.








