This high protein tomato soup combines a classic tomato base with cannellini beans and Greek yogurt, delivering 14g of protein per serving. Sautéed onions, carrots, and celery create a flavorful foundation, while smoked paprika and dried herbs add depth.
The entire dish comes together in just 35 minutes using one saucepan and an immersion blender. Simply sauté the aromatics, simmer with tomatoes and beans, blend until smooth, then stir in Greek yogurt for a creamy finish. Each batch serves four and reheats beautifully for meal prep.
The rain was hammering against the kitchen window so hard I could barely hear the podcast I had playing, and honestly that was the perfect excuse to stand at the stove and do nothing but stir. I had half a pantry to work with: canned tomatoes, a forgotten can of cannellini beans, and a tub of Greek yogurt dangerously close to its expiration date. What came together in that steamy half hour was a soup so thick and comforting it made me forget the entire point of the afternoon had been to clean the fridge, not create something I would crave every week after.
My neighbor Clara knocked on my door the following Tuesday holding an empty container and a look that said she was not leaving without the recipe. She had smelled it through the hallway, which I suppose is both a compliment to the smoked paprika and a reminder that apartment ventilation leaves something to be desired.
Ingredients
- Olive oil (1 tablespoon): Just enough to soften the aromatics without making the soup greasy, a little goes a long way here.
- Onion (1 medium, diced): The foundational sweetness, cook it patiently until translucent and you will taste the difference.
- Garlic (2 cloves, minced): Fresh is nonnegotiable, the jarred stuff loses that warm bite that makes the kitchen smell alive.
- Carrot (1 large, peeled and diced): Adds natural sweetness and body that balances the acidity of canned tomatoes.
- Celery (1 stalk, diced): A quiet background player that somehow makes everything taste more complete.
- Diced tomatoes (800 g, 2 cans): The backbone of the soup, do not drain them, you want every bit of that juice.
- Tomato paste (2 tablespoons): Concentrates the tomato flavor and deepens the color to that gorgeous deep red.
- Low sodium vegetable broth (500 ml): Keeping it low sodium lets you control the salt level yourself as it simmers.
- Cannellini beans (400 g, 1 can, drained and rinsed): The secret protein booster that disappears completely when blended.
- Plain Greek yogurt (200 g): Stirred in at the end for creaminess without the heaviness of cream, and a tangy protein punch.
- Dried basil (1 teaspoon): A reliable staple when fresh is not around, it rehydrates beautifully in the simmering liquid.
- Dried oregano (1 teaspoon): Adds an earthy warmth that rounds out the Italian leaning flavor profile.
- Smoked paprika (1/2 teaspoon): This is the ingredient that makes people close their eyes and ask what is in this.
- Salt and pepper (to taste): Season gradually and taste as you go, the beans and broth already contribute salt.
- Fresh basil leaves (optional garnish): Torn and scattered on top, they add a bright pop that makes the bowl look restaurant worthy.
- Additional Greek yogurt for swirling (optional garnish): A dollop swirled with the back of a spoon looks stunning and adds a cool contrast.
Instructions
- Build the flavor base:
- Heat the olive oil in your large saucepan over medium heat, then toss in the diced onion, garlic, carrot, and celery, stirring occasionally until everything softens and your kitchen smells like the coziest place on earth, about 5 to 6 minutes.
- Create the tomato bath:
- Stir in the tomato paste first and let it cook for about 30 seconds to caramelize slightly, then pour in the diced tomatoes with their juices and the vegetable broth, bringing everything to a gentle simmer.
- Let the beans work their magic:
- Add the drained cannellini beans, dried basil, oregano, smoked paprika, and a generous pinch of salt and pepper, then let the whole pot simmer gently for 15 minutes, stirring once in a while so nothing sticks to the bottom.
- Blend until velvety:
- Take the pan off the heat and use your immersion blender to puree the soup directly in the pot until completely smooth, or work in careful batches with a standard blender, filling it only halfway to avoid hot soup explosions.
- Add the creamy finish:
- Return the blended soup to low heat and stir in the Greek yogurt slowly, keeping the temperature gentle so the yogurt does not curdle, until everything is silky and heated through.
- Taste and serve:
- Adjust the salt and pepper to your liking, then ladle into bowls and top with torn fresh basil and a swirl of extra yogurt if you are feeling fancy.
I brought a thermos of this to a park bench lunch with my friend Dev one chilly October afternoon, and he sat there holding the cup with both hands, staring at the trees, saying nothing for a solid minute before declaring it the best soup he had ever had from a thermos. Sometimes food does not need a table or candles or a special occasion to become a memory worth keeping.
Making It Your Own
A pinch of chili flakes thrown in with the paprika gives the whole pot a gentle warmth that builds with each spoonful. If you want to lean even further into comfort food territory, a grilled cheese sandwich dunked into this soup is frankly unfair competition for any restaurant version.
Storing and Reheating
This soup keeps in the fridge for up to four days and actually tastes better on day two when the flavors have had time to mingle. Reheat it gently on the stove over low heat rather than microwaving, which can cause the yogurt to separate and leave you with an odd texture.
Serving Suggestions and Final Thoughts
Thick crusty bread is the obvious companion, but a simple side salad with a sharp vinaigrette cuts through the richness beautifully if you want something lighter. For a vegan version, swap the Greek yogurt for unsweetened coconut or soy yogurt and the result is nearly identical in creaminess. However you serve it, this soup has a way of making an ordinary evening feel intentional.
- A drizzle of good olive oil on top adds a peppery finish that ties everything together.
- Toasted pumpkin seeds sprinkled over the bowl give a satisfying crunch.
- Always taste before serving, a final pinch of salt can transform the whole pot.
This is the kind of soup that waits for you on a rainy day and never disappoints. Make a double batch, freeze half, and thank yourself later.
Recipe FAQs
- → Can I make this soup ahead of time?
-
Yes, this soup stores well in the refrigerator for up to 4 days in an airtight container. The flavors actually deepen overnight, making it an excellent option for meal prep. Reheat gently on the stovetop over low heat, stirring occasionally.
- → What can I substitute for cannellini beans?
-
Butter beans or navy beans work well as substitutes for cannellini beans. All three are mild, creamy white beans that blend smoothly into the soup while maintaining the protein content and silky texture.
- → How do I prevent the Greek yogurt from curdling?
-
Always remove the soup from direct heat before stirring in the Greek yogurt. Let the soup cool slightly for a few minutes, then add the yogurt gradually while stirring constantly. Returning to low heat afterward is fine, but avoid boiling.
- → Is this suitable for freezing?
-
You can freeze this soup, but the texture may change slightly due to the dairy content. For best results, freeze the soup before adding the Greek yogurt, then stir it in fresh when reheating. Freeze in portions for up to 3 months.
- → What should I serve with this soup?
-
Crusty whole-grain bread, grilled cheese sandwiches, or a simple side salad pair beautifully. For extra protein, top with toasted pumpkin seeds or serve alongside a quinoa salad. A swirl of olive oil and fresh basil leaves make a lovely finishing touch.
- → Can I make this without an immersion blender?
-
Absolutely. Let the soup cool slightly, then transfer it in batches to a standard blender. Fill the blender only halfway and hold the lid down with a towel to prevent splashing. Blend each batch until smooth and return to the pot.