The best part of this garden vegetable soup, for me, is how much is in the bowl. Potatoes, green beans, kidney beans, cannellini beans, zucchini, peas, carrots, celery, and tomatoes, all in a tomato-herb broth that’s rich enough to be a meal rather than a starter. It’s the kind of vegetable soup that fills you up instead of leaving you hungry an hour later, and it’s one of the few soups I make that everyone at the table actually finishes.
The technique that makes it work is the staggered cooking. Potatoes and green beans need about fifteen minutes to get tender, zucchini needs five to seven, and frozen peas need about sixty seconds off the heat. If everything goes in at once, the zucchini dissolves and the peas turn dull and soft. Adding them in stages is what keeps each vegetable at its best.
It also happens to be genuinely hearty because of the two kinds of beans. Kidney and cannellini together add protein, fiber, and body, and they thicken the broth as they simmer. It comes in at about 14 grams of protein per serving, which is honest for a vegetable soup, and it feeds six. It’s the soup I make when I want something warm and substantial that doesn’t take all afternoon.
Why This Recipe Works
Staggering the vegetables is what keeps each one at its best. Potatoes and green beans take 15 minutes to become tender, zucchini takes 5 to 7, and frozen peas need about 60 seconds off the heat. Adding them all at once gives you mush. Staggering them means every vegetable lands at the right texture.
Caramelizing the tomato paste is what gives the broth its depth. Cooking the paste with the garlic and thyme until it darkens to a deep rust color removes the raw, tinny taste canned tomatoes can have and builds a savory base. It’s a two-minute step that changes the whole pot.
Two kinds of beans are what make it hearty. Kidney beans and cannellini have different textures, and together they add protein, fiber, and body. They also thicken the broth as they simmer, which is why this soup doesn’t taste thin.
The lemon goes in off the heat. A tablespoon of lemon juice at the end is what brightens the whole pot and keeps it from tasting flat. Fresh citrus loses its brightness when it cooks, so it goes in after the burner is off.
The frozen peas go in off the heat too. They’re already blanched, and pouring them into the hot soup and letting them sit for 60 seconds warms them through without turning them dull and soft.
Ingredients That Matter

Yukon Gold potatoes, diced into ½-inch cubes. Yukon Golds hold their shape and have a creamier texture than russets. Cut them uniformly so they cook evenly.
Fire-roasted diced tomatoes, not plain. Fire-roasted tomatoes have a subtle smokiness that plain diced tomatoes don’t, and it pairs with the thyme and the beans. If you only have plain tomatoes, add ¼ teaspoon of smoked paprika.
Two cans of beans, rinsed and drained. Kidney and cannellini are the classic pairing, but any two cans work. Rinse them well — the canning liquid is starchy and salty and would cloud the broth.
How to Make It

- Heat 2 tablespoons of olive oil in a large Dutch oven over medium heat. Add the onion, carrots, and celery and cook 8 to 10 minutes, stirring occasionally, until softened and the onion is translucent.
- Add the garlic, tomato paste, thyme, and 1 teaspoon of kosher salt. Cook 1 to 2 minutes, stirring constantly, until the paste darkens to a deep rust color and smells fragrant.
- Pour in the broth, diced tomatoes with their juices, potatoes, green beans, kidney beans, cannellini beans, and the bay leaf. Bring to a boil, reduce the heat to low, cover partially, and simmer 15 minutes.
- Stir in the zucchini and simmer uncovered 5 to 7 minutes more, until the potatoes and zucchini are fork-tender.
- Turn off the heat. Discard the bay leaf. Stir in the frozen peas, lemon juice, and parsley — the residual heat warms the peas in about 60 seconds and keeps them bright green.
- Taste and adjust salt and pepper. Serve with crusty bread or a Parmesan crisp.
Tips and Troubleshooting

The vegetables turned to mush. They went in all at once. Potatoes and green beans first, zucchini later, peas off the heat.
The broth tastes thin. The tomato paste wasn’t caramelized long enough, or there weren’t enough beans. Cook the paste for the full 2 minutes and use both cans of beans.
It tastes flat. It needs the lemon and a final taste for salt. The acid is what wakes up the whole pot.
It’s too salty. Broth, beans, and canned tomatoes all carry salt. Use low-sodium broth, taste before adding any salt, and adjust at the end.
The zucchini dissolved. It simmered too long. Add it in the last 5 to 7 minutes and don’t let it go past fork-tender.
The peas turned dull and soft. They were cooked instead of warmed through. Add them off the heat and let them sit 60 seconds.
The soup is too thick the next day. The beans and potatoes absorbed some broth. Reheat with a splash of broth or water.
Substitutions and Swaps
The beans: Kidney and cannellini are the classic pairing. Pinto beans, white beans, or chickpeas all work. Use any two cans.
The vegetables: Green beans and zucchini are the classic combination. Cauliflower, cabbage, or butternut squash work. Add harder vegetables earlier and softer ones later.
The broth: Vegetable broth keeps it vegetarian. Chicken broth works. Beef broth works for a heartier version.
Make it creamy: Blend 2 cups of the finished soup and stir it back in, or add ½ cup of heavy cream off the heat. It becomes a creamy vegetable soup.
Make it heartier: Add 1 cup of cooked small pasta or rice in the last 10 minutes, or serve it over a scoop of rice.
Make it vegan: The recipe is already vegan with vegetable broth.
Storage and Reheat
Refrigerate in an airtight container for up to 5 days. The soup thickens as it chills, so reheat covered with a splash of broth for 90 seconds.
Freeze for up to 3 months; the potatoes and zucchini soften slightly on thawing, but the flavor holds.
Hearty Garden Vegetable Soup
A rich, savory vegetable soup with tender potatoes, green beans, kidney beans, zucchini, and massaged herbs in a tomato-herb broth — about 14g of protein per serving and ready in 50 minutes.
Ingredients
Vegetable Base
- 2 tbsp extra virgin olive oil
- 1 large yellow onion, diced
- 3 medium carrots, diced
- 3 celery stalks, diced
- 4 cloves garlic, minced
- 2 tbsp tomato paste
- 1 tsp dried thyme
- 1 bay leaf
Soup & Liquids
- 8 cups low-sodium vegetable or chicken broth
- 1 can (14.5 oz) fire-roasted diced tomatoes, with juices
- 2 medium Yukon Gold potatoes (about 1 lb), diced into ½-inch cubes
- 1 can (15 oz) dark red kidney beans, drained and rinsed
- 1 can (15 oz) cannellini beans, drained and rinsed
Late Vegetables & Finish
- 1½ cups fresh green beans, trimmed and cut into 1-inch pieces
- 1 medium zucchini, diced
- 1 cup frozen sweet peas or corn
- 1 tbsp fresh lemon juice
- 1 tsp kosher salt, plus more to taste
- ½ tsp black pepper
- ⅓ cup fresh flat-leaf parsley, chopped
Instructions
- Sauté the onion, carrots, and celery in olive oil over medium heat for 8–10 minutes.
- Add the garlic, tomato paste, thyme, and salt and cook 1–2 minutes until the paste darkens.
- Add the broth, tomatoes, potatoes, green beans, beans, and bay leaf. Simmer partially covered 15 minutes.
- Add the zucchini and simmer uncovered 5–7 minutes more.
- Off heat, discard the bay leaf and stir in the peas, lemon juice, and parsley.
- Taste and adjust salt and pepper. Serve with crusty bread.
Notes
Notes: Refrigerate up to 5 days; the soup thickens cold, so reheat covered with a splash of broth. Freezes up to 3 months. Nutrition is an estimate.
Nutrition (per serving, estimated): ~240 calories, 14g protein, 42g carbs, 5g fat, 9g fiber, 620mg sodium.
FAQ
Can I make this in a slow cooker? Yes. Sauté the aromatics and tomato paste on the stove, then transfer everything except the zucchini, peas, lemon, and parsley to a slow cooker. Cook on LOW 5 to 6 hours, add the zucchini in the last 30 minutes, and stir in the peas, lemon, and parsley off the heat.
Can I add meat? Yes. Brown 1 lb of ground beef or Italian sausage first and add it with the broth. Shredded chicken works too.
Can I use frozen vegetables instead of fresh? Yes. Add frozen green beans with the potatoes, and frozen zucchini in the last 5 minutes.
How long does the soup last? Five days in the refrigerator. It thickens as it chills, so reheat with a splash of broth.
Can I freeze this soup? Yes, up to 3 months. The potatoes and zucchini soften slightly on thawing, but the flavor holds.
Is this soup vegan? Yes, with vegetable broth. Check your bean and tomato labels if you’re strict about it.
More Recipes You’ll Love
- Vegetable Soup Recipes Easy
- Healthy Vegetable Soup
- Veggie Soup Recipes
- Vegetarian Soup Recipes
- Creamy Vegetable Soup
- Easy Healthy Dinner Recipes
Closing
The staggered vegetables and the caramelized tomato paste are the two things that make this soup taste like more than the sum of its parts — everything else is beans and broth. It’s the one I’d hand you first when you want a vegetable soup that actually fills you up. Make it once, and tell me which vegetable you added extra of.