Homemade Tomato Bean Soup – A Cozy, Protein-Rich Classic

Few dishes offer the comforting warmth and nourishing simplicity of tomato bean soup. Rooted in Mediterranean and Latin American traditions, this humble yet hearty soup has been a staple for generations—especially during the colder months when a pot of soup simmering on the stove feels like a warm embrace.

This version of homemade tomato bean soup is robust with flavor, thanks to ripe tomatoes, tender beans, aromatic herbs, and a splash of olive oil. It’s deeply satisfying while still being light enough for a weeknight dinner. Whether you enjoy it with a slice of crusty bread or as a meal prep favorite, this soup brings depth and nourishment to every bowl.

Creamy cannellini beans and juicy tomatoes work together to create a rich texture, while garlic, onions, and a pinch of crushed red pepper add just the right complexity. It’s naturally vegan, high in fiber and protein, and easily adaptable to whatever pantry ingredients you have on hand.

Ingredients Overview

Here’s a breakdown of the essential ingredients that make this tomato bean soup flavorful, filling, and wholesome.

Tomatoes

Canned crushed tomatoes are ideal for a rich, consistent base. They bring deep, slightly sweet acidity that forms the backbone of the soup. You can also use fresh, ripe tomatoes during peak summer—just roast and blend them first for maximum flavor.

Beans

Cannellini beans or white navy beans are most traditional. They provide creaminess and plant-based protein. You can substitute them with great northern beans, chickpeas, or even kidney beans for a twist. Use canned for convenience or dried (soaked overnight and cooked) for more control over texture.

Aromatics

  • Onion: Yellow onions are best for depth. Shallots or red onions can be used for a lighter or slightly sweeter flavor.

  • Garlic: Adds earthiness and a fragrant punch. Use fresh minced garlic for the boldest taste.

  • Celery & Carrot: These optional additions add subtle sweetness and texture, balancing the acidity of the tomatoes.

Broth

Use a high-quality vegetable broth to keep it vegan, or chicken broth for a heartier version. Homemade stock elevates the flavor significantly.

Herbs & Spices

  • Bay leaf: Infuses the broth with subtle herbal depth.

  • Thyme: Fresh or dried thyme complements tomatoes beautifully.

  • Crushed red pepper: Optional, for a gentle heat.

  • Salt & black pepper: Adjust to taste—start light and build as you go.

Olive Oil

Extra-virgin olive oil is the fat of choice here—it brings a fruity richness and binds the flavors together. Drizzle some on top just before serving for added aroma.

Add-ins & Toppings

  • Kale or spinach can be stirred in toward the end for extra nutrients.

  • Grated Parmesan (if not vegan) adds umami.

  • A dollop of pesto or a spoonful of yogurt on top can create a lovely contrast.

Step-by-Step Instructions

This tomato bean soup comes together in under an hour, with most of the time spent simmering to build flavor. Here’s how to make it:

  1. Sauté the aromatics
    In a large Dutch oven or soup pot, heat 2 tablespoons of olive oil over medium heat. Add diced onions, celery, and carrots. Cook until soft and translucent, about 6–8 minutes. Stir in minced garlic and cook for another minute until fragrant.

  2. Add the tomatoes and seasonings
    Pour in the crushed tomatoes, and add thyme, a bay leaf, crushed red pepper, and a good pinch of salt and pepper. Stir well, letting the mixture cook for about 5 minutes to reduce slightly and deepen in color.

  3. Pour in the broth and beans
    Add the vegetable broth and drained beans. Stir everything together and bring it to a gentle boil. Once boiling, reduce the heat to low and let it simmer uncovered for 20–30 minutes. This is when all the flavors marry together and the soup thickens naturally.

  4. Blend (optional)
    For a creamier texture, use an immersion blender to purée half the soup directly in the pot. Alternatively, transfer a few cups to a blender, purée until smooth, then stir it back in. This step is optional, but it gives the soup a velvety body without adding cream.

  5. Adjust seasoning and finish
    Taste and adjust salt, pepper, or acidity. If it tastes too acidic, a pinch of sugar can help. If you’re using greens, stir them in now and cook for 5 more minutes until wilted.

  6. Serve hot
    Ladle into bowls and top with fresh herbs, grated cheese, or a drizzle of olive oil. Serve with warm bread or over cooked rice for an even heartier meal.

Tips, Variations & Substitutions

Cooking Tips

  • Don’t rush the sauté step: Letting the onions and carrots caramelize brings natural sweetness to the soup.

  • Use quality tomatoes: San Marzano or fire-roasted canned tomatoes give the deepest flavor.

  • Avoid overcooking the beans: If you’re using canned beans, add them halfway through to prevent them from turning mushy.

Variations

  • Tuscan-style: Add chopped kale and a Parmesan rind during simmering.

  • Mexican twist: Use black beans, chili powder, cumin, and top with avocado.

  • Italian-inspired: Add small pasta shapes like ditalini or orzo in the last 10 minutes.

Substitutions

  • No cannellini beans? Use chickpeas, black beans, or lentils.

  • Low-sodium diet? Use no-salt-added tomatoes and broth, then salt to taste.

  • Gluten-free? Naturally gluten-free as is—just confirm with store-bought broths.

Serving Ideas & Occasions

This tomato bean soup is versatile and fits a wide range of meals and occasions:

  • Family dinners: Serve with grilled cheese or garlic toast.

  • Meal prep: Portion into jars for grab-and-go lunches.

  • Cold nights: Pair with a green salad and roasted vegetables for a full, cozy meal.

  • Entertaining: Serve as a starter in small mugs with herbed focaccia.

Garnish with fresh parsley or basil, a drizzle of olive oil, or a spoonful of dairy-free yogurt for an elegant touch.

Nutritional & Health Notes

Tomato bean soup is not only satisfying but also nutrient-dense:

  • High fiber: Thanks to beans and vegetables, supporting digestion and heart health.

  • Plant protein: A good protein source for vegans and vegetarians.

  • Low in fat: Olive oil provides healthy monounsaturated fats without heaviness.

  • Rich in antioxidants: Tomatoes are a great source of lycopene, known for its heart-protective and anti-inflammatory benefits.

  • Naturally low-calorie: Ideal for those focusing on clean eating or weight-conscious meals.

To make it even lighter, reduce the olive oil and skip the cheese topping.

FAQs

Q1: Can I freeze tomato bean soup?

Yes. Tomato bean soup freezes beautifully. Let it cool completely, then store in freezer-safe containers for up to 3 months. Thaw overnight in the fridge and reheat on the stove.


Q2: What beans work best for tomato bean soup?

Cannellini beans are the most classic choice due to their creamy texture and mild flavor. However, great northern, navy, or even pinto beans also work well.


Q3: How do I thicken the soup naturally?

Simmer uncovered to reduce the liquid, or purée a portion of the soup with an immersion blender. The beans themselves will help create a thick, creamy texture.


Q4: Is this soup vegan and gluten-free?

Yes, as long as you use vegetable broth and check the labels on your canned ingredients. It’s naturally gluten-free and vegan.


Q5: Can I make this in a slow cooker?

Absolutely. Sauté aromatics first, then transfer everything to a slow cooker and cook on low for 6–8 hours. Add delicate greens in the final 30 minutes.


Q6: How long does tomato bean soup last in the fridge?

Stored in an airtight container, it stays fresh for up to 5 days in the refrigerator. The flavor actually deepens over time, making leftovers even better.


Q7: Can I add meat to this soup?

Yes. For a heartier version, add cooked Italian sausage, shredded chicken, or bacon. Sauté the meat separately before adding to the soup base.

Print

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

A hearty, wholesome tomato bean soup made with crushed tomatoes, cannellini beans, herbs, and garlic. Vegan, gluten-free, and perfect for meal prep or cozy nights.

  • Author: Maya Lawson
  • Prep Time: 10 minutes
  • Cook Time: 20 minutes
  • Total Time: 30minutes
  • Yield: 46 servings 1x

Ingredients

Scale
  • 2 tbsp olive oil

  • 1 yellow onion, diced

  • 2 carrots, diced (optional)

  • 2 celery stalks, diced (optional)

  • 3 garlic cloves, minced

  • 1 (28 oz) can crushed tomatoes

  • 1 tsp dried thyme

  • 1 bay leaf

  • 1/4 tsp crushed red pepper (optional)

  • Salt and black pepper to taste

  • 4 cups vegetable broth

  • 2 (15 oz) cans cannellini beans, drained and rinsed

  • 2 cups chopped kale or spinach (optional)

  • Fresh basil or parsley, for garnish

Instructions

  • Heat olive oil in a large pot over medium heat. Add onion, carrots, and celery. Cook until softened, about 6–8 minutes.

  • Add garlic and cook for 1 minute.

  • Stir in tomatoes, thyme, bay leaf, crushed red pepper, salt, and pepper. Simmer for 5 minutes.

  • Add broth and beans. Bring to a boil, then reduce heat and simmer uncovered for 25 minutes.

  • Optional: Use an immersion blender to purée part of the soup for a thicker texture.

  • Stir in greens if using and cook for 5 more minutes.

  • Remove bay leaf. Adjust seasoning and serve hot with garnishes.

Did you make this recipe?

Share a photo and tag us — we can't wait to see what you've made!

Leave a Comment

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star