Hearty Tomato Vegetable Soup in 30 Minutes
This tomato vegetable soup is the kind of meal that feels like Sunday but comes together on a Tuesday. A warm, brothy bowl with tender carrots, creamy beans, and a good hit of garlic is exactly what you want when the evening is short and you still need something real.

It leans on mostly pantry ingredients and a handful of fresh vegetables, so a quick chop is all the prep it takes. The broth is tomato-rich without being heavy, and the spinach you stir in at the end keeps everything bright.
Why This Soup Works
The canned tomatoes and vegetable broth build a savory base in under twenty minutes of simmering. That means the carrots and celery soften fully while still holding their shape, and the garlic and dried herbs have time to bloom without disappearing.
You get a chunky, satisfying texture from the beans, and the spinach wilts in at the last second so it stays vibrant green rather than turning muddy. It is the kind of soup that tastes better than the effort it took, which is what keeps it in the rotation.
Ingredients

- 2 tbsp olive oil: extra virgin is fine, but a regular olive oil works well for sautéing
- 1 medium onion, diced: yellow or white
- 2 medium carrots, peeled and diced
- 2 celery stalks, diced
- 3 garlic cloves, minced: measure with your heart here, 4 if you love garlic
- 2 (14.5 oz) cans diced tomatoes: with their juices, no need to drain
- 4 cups vegetable broth: low-sodium so you can control the salt
- 1 (15 oz) can cannellini beans, drained and rinsed: or great northern beans
- 1 tsp dried oregano
- 1/2 tsp dried basil
- 3/4 tsp fine sea salt: adjust to your broth and taste
- 1/2 tsp black pepper: freshly ground if you have it
- 2 cups fresh baby spinach: packed lightly, stems removed if thick
Variations / Substitutions
- Swap the beans: chickpeas or kidney beans both work; if you want a creamier bite, use half mashed beans and half whole.
- Add a parmesan rind: toss a leftover rind into the broth while it simmers and fish it out before serving—it adds a savory depth without changing the texture.
- Make it heartier with pasta: stir in 1/2 cup of small pasta like ditalini during the last 8 minutes of simmering, then add a splash more broth if needed.
- Go creamy: stir in a splash of coconut milk or heavy cream right before the spinach to turn the broth velvety.
- Use fresh tomatoes: when summer tomatoes are at their peak, swap each 14.5 oz can for about 1 1/2 cups chopped fresh tomatoes and let the soup simmer a few minutes longer to concentrate.
Strawberry Shortcake Biscuits make the perfect bread to serve with this soup.
How to Make Hearty Tomato Vegetable Soup
Step 1: Sauté the Aromatics

Heat the 2 tbsp olive oil in a large pot or Dutch oven over medium heat. Once it shimmers, add the diced onion, carrots, and celery. Cook for about 5 minutes, stirring now and then, until the onion turns translucent and the carrots begin to soften around the edges.
The vegetables will start to release a little liquid and smell sweet as they cook. Keep the heat medium so they soften without browning too fast; a little color is fine, but you are not looking for deep caramelization here.
Step 2: Build the Broth

Add the minced garlic and stir constantly for 30 seconds, just until it smells fragrant. Pour in the two cans of diced tomatoes with all their juices, then add the 4 cups vegetable broth, the drained cannellini beans, oregano, basil, salt, and pepper.
Stir everything together and bring the pot to a boil over high heat. The broth will look thin and a bit pale at first; that changes once the tomatoes break down.
Step 3: Simmer the Soup

Once the soup reaches a full boil, reduce the heat to low so it keeps a gentle bubble. Cover the pot and let it simmer for 15 minutes. The carrots and celery should become fork-tender, and the broth will deepen to a richer orange-red.
Taste a spoonful of broth after 15 minutes and adjust the salt and pepper. If you used a low-sodium broth, you might need a little more salt than the recipe calls for.
Step 4: Wilt the Greens and Ladle

Remove the pot from the heat and add the 2 cups fresh spinach. Stir gently for about 1 minute until the leaves have wilted into the soup but still hold their bright green color. Ladle the soup straight into bowls.
Top each serving with a generous amount of grated Parmesan and a light drizzle of olive oil if you like. The cheese melts into the hot broth and the spinach stays just tender enough. Serve while it is steamy.
Tips for the Best Tomato Vegetable Soup
- Dice your carrot, celery, and onion into roughly the same small size so every spoonful gets a mix, and nothing sits undercooked while something else turns mushy.
- If you prefer a slightly thicker broth, use an immersion blender to pulse the soup just once or twice after the simmer step—enough to break up some of the beans and tomatoes while keeping plenty of texture.
- Top with a spoonful of pesto instead of Parmesan for a different kind of richness.
- Leftover soup often tastes even better the next day after the flavors have time to settle.
A quick guide if you are adding pasta or swapping beans:
| Add-in | Timing | Note |
|---|---|---|
| Small pasta | Add during last 8–10 mins | Increase broth by 1/2 cup |
| Canned chickpeas | Add with broth, same timing | Keep texture firmer than cannellini |
| Chopped zucchini | Add with spinach, cook 2 mins | Turns soft quickly |
Storing Leftovers
Refrigerate any leftovers in an airtight container for up to 4 days. The spinach will darken a bit but the soup stays flavorful. Reheat single portions in a saucepan over medium-low heat, adding a splash of broth or water if it has thickened overnight. This soup also freezes well for up to 3 months; thaw overnight in the fridge before reheating.
What to Serve With This Soup
A thick slice of toasted sourdough rubbed with garlic is the simplest match; the crunchy crust and mild tang contrast the soft vegetables. For something heartier, a grilled cheese made with sharp cheddar and a smear of whole-grain mustard turns the meal into a diner-style classic. If you want to keep it light, a simple arugula salad with lemon vinaigrette balances the warm, savory broth.
Frequently Asked Questions
Can I make this soup in a slow cooker?
Yes, sauté the aromatics first on the stove, then transfer everything except the spinach to the slow cooker. Cook on low for 6–7 hours or high for 3–4 hours, then stir in the spinach right before serving.
Do I have to use canned tomatoes?
No, fresh tomatoes work when they are in season. Use about 3 cups chopped ripe tomatoes and expect the broth to be a little thinner; you can let it simmer uncovered for a few extra minutes to concentrate the flavor.
How do I keep the spinach from getting slimy?
Add the spinach off the heat and stir just until it wilts, no more than a minute. Residual heat from the soup is enough, and leaving the pot on a hot burner will overcook it.
Can I skip the beans?
You can, but the soup will lose some body. To compensate, add an extra carrot and a diced potato with the broth so the soup still feels substantial.

Hearty Tomato Vegetable Soup Recipe
Ingredients
Method
- Heat olive oil in a large pot over medium heat. Add onion, carrots, and celery; cook 5 minutes until softened.
- Add garlic and stir 30 seconds until fragrant. Pour in diced tomatoes with juices, vegetable broth, cannellini beans, oregano, basil, salt, and pepper. Stir and bring to a boil.
- Reduce heat to low, cover, and simmer 15 minutes until carrots and celery are tender.
- Remove from heat, stir in spinach until wilted. Ladle into bowls and top with Parmesan.
