This creamy Tuscan white bean and spinach soup looks and tastes like it took all afternoon — rich, deeply flavored, and satisfying in the way only a proper soup can be. The reality is that it comes together in thirty minutes with pantry staples and one pot.
Jump to RecipeWhite beans are the quiet workhorse here. They thicken the broth naturally, add creaminess without any dairy, and make the soup genuinely filling. Add spinach, sun-dried tomatoes, and a generous pour of good olive oil, and you have something that tastes distinctly Tuscan without any obscure ingredients.
Why This Recipe Works
The key is building flavor before any broth goes in. Onion, garlic, and sun-dried tomatoes are cooked in olive oil until soft and fragrant — this base gives the soup its depth. White beans go in two ways: most stay whole for texture, while a portion is mashed and stirred back in, creating a naturally creamy consistency without cream or flour. Spinach wilts in at the very end, staying bright rather than grey and overcooked. A finish of lemon juice and Parmesan sharpens the flavor and balances the richness.
Jump to RecipeWhat You’ll Need
- 2 cans (15 oz each) white beans, drained and rinsed (cannellini or Great Northern)
- 4 cups vegetable or chicken broth (low sodium preferred)
- 3 cups baby spinach, loosely packed
- ½ cup sun-dried tomatoes in oil, drained and roughly chopped
- 1 medium yellow onion, diced
- 4 cloves garlic, minced
- 2 tablespoons olive oil, plus extra for finishing
- 1 teaspoon dried Italian seasoning
- ½ teaspoon smoked paprika
- Salt and black pepper to taste
- Juice of half a lemon
- Optional: ¼ cup grated Parmesan, red pepper flakes, a Parmesan rind for simmering
- Equipment: large heavy-bottomed pot or Dutch oven, wooden spoon, ladle
Step-by-Step Instructions
- Sauté the aromatics. Heat olive oil in a large pot over medium heat. Add the diced onion and cook for 4 to 5 minutes until softened and translucent. Don’t rush this — a well-cooked onion is the flavor foundation of the whole soup.
- Add the garlic and sun-dried tomatoes. Stir in the minced garlic and chopped sun-dried tomatoes. Cook for 2 minutes until fragrant and the tomatoes have softened slightly into the oil.
- Add the spices. Sprinkle in the Italian seasoning and smoked paprika. Stir to coat and cook for 30 seconds. Toasting spices briefly in oil draws out more flavor before the liquid goes in.
- Add the beans. Pour in the drained white beans. Stir to combine and let them warm through for one to two minutes to absorb the base flavors.
- Mash a portion of the beans. Using the back of a wooden spoon or a fork, roughly mash about one-third of the beans in the pot. This creates the creamy texture without any added dairy. Don’t over-mash — you want texture remaining.
- Pour in the broth. Add the broth and stir everything together. Drop in a Parmesan rind if using. Bring to a gentle boil, then reduce to a simmer and cook uncovered for 10 minutes.
- Taste and adjust seasoning. Add salt and pepper to taste. Between broth, canned beans, and Parmesan, there’s significant sodium already present — always taste before adding salt.
- Add the spinach. Stir in the baby spinach in two or three handfuls, letting each wilt before adding the next. Total time is about 2 minutes.
- Finish and serve. Squeeze in the lemon juice and drizzle olive oil over the surface. Ladle into bowls and top with grated Parmesan and red pepper flakes if you like.
30-Minute Creamy Tuscan White Bean and Spinach Soup
Rich, deeply flavoured, and naturally creamy — a proper Tuscan-style soup from pantry staples in one pot
Ingredients — Soup
- 2 cans (15 oz each) white beans (cannellini or Great Northern), drained and rinsed
- 4 cups vegetable or chicken broth (low-sodium preferred)
- 3 cups baby spinach, loosely packed
- ½ cup sun-dried tomatoes in oil, drained and roughly chopped
- 1 medium yellow onion, diced
- 4 cloves garlic, minced
- 2 tbsp olive oil, plus extra for finishing
- 1 tsp dried Italian seasoning
- ½ tsp smoked paprika
- Salt and black pepper to taste
- Juice of ½ lemon
Optional
- ¼ cup Parmesan, finely grated, plus a rind for simmering
- Red pepper flakes for garnish
Instructions
- Sauté the AromaticsHeat olive oil in a large heavy-bottomed pot over medium heat. Add the diced onion and cook for 4–5 minutes until softened and translucent. Stir in the minced garlic and chopped sun-dried tomatoes and cook for 2 minutes more until fragrant and the tomatoes have softened into the oil.Don't rush the onion — a fully softened onion is the flavour foundation of the entire soup. Four to five minutes on medium is the minimum; an undercooked onion leaves a sharp, raw edge that carries through to the finished bowl.
- Add Spices and BeansSprinkle in the Italian seasoning and smoked paprika. Stir and cook for 30 seconds to toast the spices in the oil. Add the drained and rinsed white beans and stir to coat, letting them warm through for 1–2 minutes.Toasting the spices briefly in hot oil before adding liquid draws out significantly more flavour than adding them to the broth directly.
- Mash Some of the BeansUsing the back of a wooden spoon or a fork, roughly mash about one-third of the beans directly in the pot. This creates natural creaminess without any dairy. Don't over-mash — you want whole beans remaining for texture alongside the creamy base.The contrast between whole beans and the mashed, thickened base is what makes this soup interesting. Mash one-third only — not half, not all of them.
- Add Broth and SimmerPour in the broth and stir to combine. Drop in a Parmesan rind if using. Bring to a gentle boil, then reduce to a simmer and cook uncovered for 10 minutes.Simmering uncovered allows the broth to reduce and concentrate slightly, thickening the soup naturally. If you want a thicker result, simmer for 5 extra minutes.
- Season, Add Spinach, and FinishTaste and adjust salt and pepper — broth, canned beans, and Parmesan all carry sodium, so always taste before adding salt. Stir in the baby spinach in two or three handfuls, letting each wilt before adding the next, about 2 minutes total. Squeeze in the lemon juice and drizzle olive oil over the surface. Ladle into bowls and top with Parmesan and red pepper flakes if using.Add spinach only in the final 2 minutes — added too early it turns grey and slightly bitter. The lemon juice is equally important; without acid at the end the soup tastes flat no matter how well seasoned.
Tips for the Best Results
- Cook the onion for the full 4–5 minutes until genuinely soft — an undercooked onion leaves a sharp, raw flavour in the finished soup.
- Always drain and rinse canned beans — the starchy can liquid makes the broth cloudy and slightly bitter.
- Mash only about one-third of the beans in the pot — this creates a creamy texture while keeping enough whole beans for contrasting texture.
- Add spinach only in the final 2 minutes — it wilts in 2 minutes and turns grey and bitter if cooked longer.
- Always taste before adding salt — broth, beans, and Parmesan already contribute significant sodium.
- Finish with lemon juice every time — the acid sharpens and brightens the whole bowl in a way that extra salt cannot replicate.
- The soup tastes even better on day two. Store for up to 4 days in the fridge; if freezing, add fresh spinach only when reheating each portion.
How to Store
This soup stores exceptionally well. Let it cool fully, then refrigerate in an airtight container for up to four days. It often tastes better on day two once the flavors have developed further.
To freeze, portion into individual containers and freeze for up to three months. If you plan to freeze, add fresh spinach only when reheating each portion rather than cooking it in — it holds up better that way. Reheat gently on the stovetop over medium-low heat, adding a splash of broth if the soup has thickened.
Health Benefits
- White beans for protein and fiber: Cannellini beans are high in both soluble fiber and protein, supporting fullness, steady blood sugar, and digestive health.
- Spinach for iron and vitamins: Baby spinach is a good source of iron, vitamin K, and folate. Cooking it lightly as this recipe does preserves more nutritional value than prolonged boiling.
- Olive oil and heart health: Extra-virgin olive oil provides monounsaturated fats linked to cardiovascular health and helps the body absorb fat-soluble vitamins from the vegetables.
- Naturally light but filling: Despite tasting rich, this soup contains no cream or butter. The creaminess comes entirely from the beans, making it lower in saturated fat than most cream-based soups.
Pitfalls to Watch Out For
- Rushing the onion: An undercooked onion leaves a sharp, raw edge in the finished soup. Give it the full four to five minutes on medium heat until genuinely soft before moving on.
- Over-mashing the beans: The contrast between whole beans and the creamy base is what makes this soup interesting. Mash only about a third, roughly, rather than blending the whole pot smooth.
- Adding spinach too early: Spinach cooks in under two minutes. Added too soon, it turns grey and slightly bitter. Always add it in the final few minutes.
- Not tasting before salting: Broth, canned beans, and Parmesan all carry sodium. Season at the end, not the beginning, and taste before adding anything.
- Skipping the lemon juice: Acid at the end makes the soup taste bright and finished rather than flat. Even a small amount makes a noticeable difference.
- Not rinsing the canned beans: Rinsing removes the starchy can liquid, which can make the soup cloudy and slightly bitter. Always drain and rinse before adding.
Alternatives
- Different greens: Kale or Swiss chard can replace spinach — they take a few extra minutes but hold up better through storage. Frozen spinach, thawed and squeezed dry, works in a pinch.
- Add a protein: Shredded rotisserie chicken, crumbled Italian sausage, or drained canned tuna stirred in at the end each bring a different character to the same base.
- Make it fully vegan: Omit the Parmesan or use nutritional yeast instead. The soup is already dairy-free in the base — the cheese is a garnish, not a structural ingredient.
- Tomato variation: Add a spoonful of tomato paste with the garlic for a deeper base. A can of diced tomatoes with the broth makes the soup more tomato-forward and hearty.
- Use a different bean: Chickpeas hold their shape more firmly. Borlotti beans have an earthier, creamier flavor that suits the Tuscan style beautifully.
FAQ
Can I Use Dried Beans Instead of Canned?
Yes, but factor in soaking and cooking time. Dried cannellini beans need overnight soaking and 60 to 90 minutes of simmering before use. Substitute in equal weight and proceed as written. The flavor is slightly better, but canned beans are entirely practical here.
How Do I Make This Soup Thicker?
Mash more beans — up to half — directly in the pot, or remove a cup, blend smooth, and stir back in. Simmering uncovered for an extra five minutes also thickens the broth naturally.
Jump to RecipeCan I Make This in a Slow Cooker?
Yes. Add everything except spinach, lemon, and Parmesan to the slow cooker. Cook on low for six to eight hours or high for three to four. Stir in the spinach for the last thirty minutes and finish with lemon and cheese before serving.
Is This Soup Gluten-Free?
Yes, as written. Check your broth label — some varieties contain added wheat. A certified gluten-free broth makes this safe for those with celiac disease or gluten sensitivity.
What Can I Use Instead of Sun-Dried Tomatoes?
A tablespoon of tomato paste stirred in with the garlic adds similar depth without the chewy texture. Roasted red peppers from a jar, roughly chopped, also work well — they bring sweetness and color in place of the concentrated acidity.
Jump to RecipeCan I Add Pasta or Grains to This Soup?
Yes. Small pasta like ditalini or orzo can go in with the broth and cook until tender, around 8 to 10 minutes — add extra broth as pasta absorbs liquid quickly. Cooked farro or pearl barley stirred in at the end adds a nutty, chewy element that suits the Tuscan style well.
Wrapping Up
This creamy Tuscan white bean and spinach soup earns a permanent place in any home cook’s rotation. It’s fast, deeply flavored, and built almost entirely from pantry ingredients. The bean-thickened base is satisfying without being heavy, and it gets better the next day.
Make it once as written, then start adapting — different greens, a handful of sausage, a Parmesan rind dropped in the pot. The foundation is solid enough to handle whatever you add.