This hearty tomato soup combines cannellini beans and Greek yogurt to deliver 14g of protein per serving while keeping everything vegetarian and gluten-free.
Sautéed onions, carrots, and celery build a flavorful base before simmering with diced tomatoes and broth. A quick blend creates a velvety texture, and stirring in Greek yogurt adds creaminess without heavy cream.
Ready in just 35 minutes, it's perfect for meal prep or a warming weeknight dinner. Top with fresh basil and an extra yogurt swirl for a beautiful presentation.
The rain was hammering against the kitchen window and I had exactly nothing planned for dinner, standing there in my socks staring into the pantry like it owed me an answer. A can of cannellini beans caught my eye, then two cans of diced tomatoes I kept forgetting to use, and something clicked. Forty minutes later I was curled on the couch with a bowl of the most comforting tomato soup I had ever thrown together, wondering why I ever bothered with the canned stuff.
I made a huge batch of this for my neighbor Sarah last winter when she was recovering from surgery and she texted me three days later asking very politely if I would judge her for wanting it every single night until she was better.
Ingredients
- Olive oil (1 tablespoon): Just enough to soften the vegetables without weighing everything down.
- Onion (1 medium, diced): The quiet backbone of almost every good soup.
- Garlic (2 cloves, minced): Fresh is nonnegotiable here, the jarred stuff tastes flat in something this simple.
- Carrot (1 large, peeled and diced): Adds a subtle sweetness that balances the acidity of the tomatoes.
- Celery (1 stalk, diced): Skip it if you must, but it gives the base a depth you will notice is missing.
- Diced tomatoes (800 g, 2 cans): Fire roasted if you can find them, the flavor difference is real.
- Tomato paste (2 tablespoons): This concentrates everything and makes the soup taste like it simmered all afternoon.
- Vegetable broth (500 ml): Low sodium so you stay in control of the seasoning.
- Cannellini beans (400 g, 1 can): Rinsed well, these are the secret protein bomb that makes this soup a meal.
- Plain Greek yogurt (200 g): Stirred in at the end for creaminess and a serious protein boost.
- Dried basil (1 teaspoon): Dried works beautifully here since the soup simmers long enough to wake it up.
- Dried oregano (1 teaspoon): Pairs with the basil for that classic Italian tomato flavor.
- Smoked paprika (1/2 teaspoon): A tiny amount but it adds a warm, almost campfire quality that surprises people.
- Salt and pepper: Taste and adjust at the end, the beans and broth already contribute salt.
- Fresh basil and extra yogurt (optional garnish): A swirl of yogurt and torn basil on top makes it look like you tried much harder than you did.
Instructions
- Build the base:
- Heat the olive oil in a large saucepan over medium heat and add the onion, garlic, carrot, and celery. Stir them around for about 5 minutes until everything softens and your kitchen smells like the beginning of something wonderful.
- Add the tomato goodness:
- Stir in the tomato paste first and let it cook for about 30 seconds, then pour in the diced tomatoes and vegetable broth. Bring it all to a gentle simmer and let those flavors start getting acquainted.
- Let it work:
- Add the cannellini beans, basil, oregano, smoked paprika, and a good pinch of salt and pepper. Let it simmer for 15 minutes, stirring now and then, while you maybe tidy up or pour yourself something to drink.
- Blend it smooth:
- Take the pot off the heat and use an immersion blender to puree everything until silky. If you only have a regular blender, work in batches and be careful with the hot liquid.
- Finish with yogurt:
- Put the pot back on low heat and stir in the Greek yogurt until it melts seamlessly into the soup. Do not let it boil after this step or the yogurt can separate and look grainy.
- Taste and serve:
- Adjust the salt and pepper, ladle into bowls, and top with fresh basil and an extra swirl of yogurt if you are feeling fancy.
The second time I made this I accidentally dropped the immersion blender into the pot before turning it on and splattered tomato soup across my white curtains, which are now a soft shade of salmon and honestly I kind of prefer them that way.
What to Serve Alongside
A thick slice of sourdough toasted with olive oil and rubbed with a raw garlic clove is really all this soup needs to become a proper meal. A simple arugula salad with lemon and olive oil on the side keeps things fresh without competing.
Making It Your Own
A pinch of chili flakes transforms this into something entirely different, warm and punchy and slightly dangerous to stop eating. You could also stir in a handful of torn kale or spinach right before blending if you want to sneak in even more goodness without anyone noticing.
Storing and Reheating
This keeps beautifully in the fridge for up to 4 days and actually tastes better on day two when the flavors have fully settled into each other.
- Freeze individual portions in airtight containers for up to 3 months for easy lunches.
- Thaw overnight in the fridge before gently reheating on the stove.
- Always stir well after reheating since the yogurt can settle during storage.
Some recipes you make once and forget, but this one has a way of becoming a quiet staple you reach for whenever you need something warm and easy and good.
Recipe Q&A Section
- → Can I make this soup vegan?
-
Yes, simply swap the Greek yogurt for an equal amount of unsweetened soy or coconut yogurt. The texture and creaminess will remain similar while keeping the dish completely plant-based.
- → What can I use instead of cannellini beans?
-
Butter beans or Great Northern beans work well as direct substitutes. Chickpeas can also be used, though they'll add a slightly different texture and earthier flavor to the finished soup.
- → Do I need an immersion blender?
-
An immersion blender is convenient but not required. You can transfer the soup in batches to a standard blender. Just be sure to fill the blender only halfway and hold the lid down with a towel for safety when blending hot liquids.
- → How should I store leftovers?
-
Let the soup cool completely, then transfer to an airtight container. It keeps well in the refrigerator for up to 4 days. Reheat gently on the stovetop over low heat, stirring occasionally.
- → Can I freeze this soup?
-
Yes, this soup freezes well for up to 3 months. For best results, freeze before adding the Greek yogurt. Stir it in fresh after reheating for the creamiest texture and best flavor.
- → What pairs well with this soup for a complete meal?
-
Crusty whole-grain bread, a side salad, or a grilled cheese sandwich all complement this soup beautifully. For extra protein, consider adding a quinoa side or topping with toasted pumpkin seeds.