
Hearty tomato soup with white beans and herbs.
Bright-and-Hearty Tomato & White Bean Soup
A pantry-friendly weeknight soup that balances tangy crushed tomatoes with creamy cannellini beans and a bright finish of lemon and spinach.
This is the kind of soup that answers a lot of kitchen needs at once: it’s fast enough for a weeknight, comforting on a chilly evening, and lively enough to feel like a real meal rather than a quick fix. Crushed tomatoes give the broth body and acidity, while white beans bring creamy heft and plant-forward protein—no need to brown meat or fuss with elaborate timing.
Flavor comes from simple building blocks: a gently softened mirepoix in shimmering olive oil, a quick hit of garlic with fresh thyme and a pinch of red pepper flakes, and a bay leaf that hangs out in the pot while the soup simmers. A spoonful of sugar tames tomato acidity without making the soup sweet. For best texture, drain and rinse the cannellini beans before adding them so the broth stays bright and clean.
Small finishing moves make a big difference: stir in a handful of baby spinach near the end for color and a silky lift, and brighten the whole pot with a squeeze of lemon just before serving. If you like a smoother texture, pulse a cup or two with an immersion blender and leave the rest chunky—either way you get contrast between silky tomato broth and tender, slightly nutty beans.
This soup keeps and reheats beautifully (it actually tastes better the next day), freezes well in portions, and pairs perfectly with crusty bread or a grilled cheese for dunking. It’s a reliable, nourishing bowl that’s as at-home on a hurried Tuesday as it is on a slow Sunday.
Ingredients
How to Make Tomato White Bean Soup
- Drain and rinse the cannellini beans in a colander and set aside; peel and finely chop the onion, carrot, and celery (mirepoix), and mince the garlic.
- Heat the olive oil in a large pot over medium heat until shimmering, then add the chopped onion, carrot, and celery and cook until softened, about 6–8 minutes, stirring occasionally.
- Add the minced garlic, fresh thyme, and red pepper flakes and cook for 30–45 seconds until fragrant, taking care not to brown the garlic.
- Pour in the crushed tomatoes and vegetable broth, add the bay leaf and sugar, and bring the mixture to a gentle simmer.
- Stir in the drained cannellini beans, reduce heat to medium-low, and simmer uncovered for 15–20 minutes to let flavors meld and beans heat through.
- Remove and discard the bay leaf, then use an immersion blender to purée about one-third to one-half of the soup for a thicker, creamier texture while leaving some beans whole for body; alternatively, ladle a portion into a blender, purée, and return to the pot.
- Add the baby spinach and simmer 1–2 minutes until wilted, then stir in the lemon juice, chopped parsley, kosher salt, and black pepper; taste and adjust seasoning.
- Ladle into bowls and finish with an extra drizzle of olive oil or a pinch of red pepper flakes if desired, and serve warm with crusty bread or a simple green salad.
Recipe Card
Tomato White Bean Soup
Hearty tomato soup with white beans and herbs.

- Prep
- 15 min
- Cook
- 25 min
- Servings
- 4
Ingredients
Instructions
- Drain and rinse the cannellini beans in a colander and set aside; peel and finely chop the onion, carrot, and celery (mirepoix), and mince the garlic.
- Heat the olive oil in a large pot over medium heat until shimmering, then add the chopped onion, carrot, and celery and cook until softened, about 6–8 minutes, stirring occasionally.
- Add the minced garlic, fresh thyme, and red pepper flakes and cook for 30–45 seconds until fragrant, taking care not to brown the garlic.
- Pour in the crushed tomatoes and vegetable broth, add the bay leaf and sugar, and bring the mixture to a gentle simmer.
- Stir in the drained cannellini beans, reduce heat to medium-low, and simmer uncovered for 15–20 minutes to let flavors meld and beans heat through.
- Remove and discard the bay leaf, then use an immersion blender to purée about one-third to one-half of the soup for a thicker, creamier texture while leaving some beans whole for body; alternatively, ladle a portion into a blender, purée, and return to the pot.
- Add the baby spinach and simmer 1–2 minutes until wilted, then stir in the lemon juice, chopped parsley, kosher salt, and black pepper; taste and adjust seasoning.
- Ladle into bowls and finish with an extra drizzle of olive oil or a pinch of red pepper flakes if desired, and serve warm with crusty bread or a simple green salad.
Nutrition
- Carbohydrates
- 44
- Saturated Fat
- 1.1
- Sodium
- 520
- Fiber
- 13
- Unsaturated Fat
- 6.5
- Protein
- 14
- Fat
- 8
- Cholesterol
- 0
- Trans Fat
- 0
- Calories
- 310
- Sugar
- 6