Love this? Pin it for later!
Why This Recipe Works
- Layered flavor: We start with a quick sauté of onion, carrot, and celery in olive oil so the vegetables caramelize and create a naturally sweet base.
- Bean power: Two kinds of beans—creamy cannellini and sturdy kidney—give contrasting textures plus complete plant protein.
- Spinach at the end: A last-minute handful wilts into vibrant ribbons that stay bright green even when reheated.
- Tomato depth: A spoon of tomato paste is cooked until brick-red, adding umami that makes the broth taste slow-simmered.
- One-pot wonder: Minimal dishes, maximum comfort—everything happens in the same Dutch oven.
- Freezer hero: Portion and freeze for up to three months; the spinach still tastes fresh after thawing.
- Budget brilliance: Feeds eight for about the cost of a single café sandwich.
Ingredients You'll Need
Before we ladle anything, let’s talk produce. Soup is only as good as what goes into it, but that doesn’t mean you need heirloom everything. Look for vegetables that feel heavy for their size and smell like the earth after rain. If your carrots have lost their crunch, soak them in ice water for 20 minutes and they’ll perk right up. The beans are canned here—weeknight mercy—but if you’ve got time to cook dried, you’ll be rewarded with an even silkier broth. Spinach wilts dramatically, so grab a big bag; baby leaves need no stemming. For tomatoes, I prefer fire-roasted diced because the slight char perfumes the whole pot, but plain diced work. If you’re watching sodium, swap the canned beans for low-sodium versions and swap the broth for water bolstered by a Parmesan rind saved in your freezer (yes, start saving them). Last, keep a bottle of good olive oil by the stove; you’ll finish each bowl with a glossy drizzle that pulls all the flavors forward.
How to Make Hearty Vegetable and Bean Soup with Spinach and Tomatoes
Warm the pot and bloom the oil
Set a heavy 5- to 6-quart Dutch oven over medium heat for 90 seconds—this prevents sticking. Add 3 tablespoons extra-virgin olive oil and swirl to coat. When the surface shimmers but doesn’t smoke, you’re ready. This thin film will help the vegetables sweat, not steam.
Build the aromatic base
Stir in 1 diced large yellow onion, 2 peeled and diced medium carrots, and 2 diced celery ribs with ½ teaspoon kosher salt. Reduce heat to medium-low and cook 8 minutes, stirring twice. The salt draws out moisture, encouraging gentle caramelization. You want translucent, not browned.
Add tomato paste and garlic
Clear a hot spot in the center, add 2 tablespoons tomato paste and 3 minced garlic cloves. Cook 2 minutes, mashing the paste into the oil until it turns from bright red to rusty brick. This caramelizes the sugars and removes any tinny edge.
Deglaze with a splash of broth
Pour in ½ cup low-sodium vegetable broth and scrape the bottom with a wooden spoon, lifting every browned bit—that’s free flavor. Cook until almost evaporated, about 1 minute. Your kitchen will smell like minestrone in the best way.
Simmer the beans and tomatoes
Add 1 drained can cannellini beans, 1 drained can kidney beans, 1 can fire-roasted diced tomatoes (juices and all), 4 cups vegetable broth, 2 bay leaves, 1 teaspoon dried oregano, ½ teaspoon freshly ground black pepper, and ¼ teaspoon crushed red-pepper flakes. Increase heat to high, bring to a boil, then reduce to a lively simmer. Cover partially and cook 15 minutes so flavors marry.
Add zucchini and bell pepper
Stir in 1 diced medium zucchini and 1 diced red bell pepper. These quick-cooking vegetables stay tender-crisp. Simmer 8 minutes uncovered. The broth will thicken slightly as the beans release starch.
Wilt in the spinach
Remove bay leaves. Stir in 4 packed cups baby spinach, a handful at a time, until each addition wilts but stays vivid. This takes about 60 seconds. Overcooking turns spinach army-green and metallic.
Finish with brightness
Off heat, add 2 tablespoons freshly squeezed lemon juice and ¼ cup chopped flat-leaf parsley. Taste and adjust salt. The acid enlivens every vegetable and balances the beans’ earthiness.
Serve and garnish
Ladle into warm bowls. Drizzle each with more olive oil and, if you like, a shower of grated Parmesan or nutritional yeast for vegan umami. Serve with crusty bread for swiping the bowl clean.
Expert Tips
Low-sodium control
Rinse canned beans under cool water to remove up to 40% of the sodium. The soup’s seasoning remains robust because we add salt strategically during cooking.
Overnight flavor boost
Make the soup through step 6, cool, and refrigerate overnight. The next day, reheat and add spinach. The flavors deepen like a good chili.
Pasta upgrade
Add ½ cup small pasta like ditalini during the last 10 minutes. Stir frequently so the starch thickens the broth to a silky texture.
Spinach swap
Out of spinach? Kale, chard, or even arugula work. Strip tough stems and add hardy greens 3 minutes earlier than spinach; delicate arugula goes in off heat.
Thickness control
For a brothy soup, add an extra cup of stock. For stew-like, mash ½ cup beans and return to the pot—they’ll act as a natural thickener.
Slow-cooker hack
Dump everything except spinach and lemon into a slow cooker. Cook on LOW 6 hours or HIGH 3 hours. Stir in spinach and lemon just before serving.
Variations to Try
- Moroccan twist: Swap oregano for 1 teaspoon each cumin and coriander, add ½ cup red lentils and a pinch of saffron. Finish with cilantro and a squeeze of orange juice.
- Smoky southwestern: Use black beans and pinto beans, add 1 chipotle in adobo, minced, plus 1 cup corn kernels. Top with avocado and crushed tortilla chips.
- Creamy Tuscan: Stir in ¼ cup pesto and ½ cup half-and-half at the end. Add 1 cup cooked small shells and you’ve got a vegetarian version of the famous chain-restaurant soup.
- Spring detox: Replace tomatoes with 2 cups asparagus pieces, swap spinach for pea shoots, and use white miso instead of tomato paste for a lighter, greener profile.
- Protein powerhouse: Add 1 cup cooked quinoa or farro during the last 10 minutes. Each serving will deliver nearly 18 grams of complete plant protein—perfect post-workout fuel.
Storage Tips
Let the soup cool to lukewarm, then transfer to airtight containers. It keeps 5 days refrigerated—the spinach will stay emerald if you reheat gently. For longer storage, ladle into quart-size freezer bags, squeeze out air, and lay flat to freeze; they stack like books and thaw overnight in the fridge. Frozen soup is best within 3 months, though it’s safe indefinitely. When reheating, add a splash of broth or water because the beans keep absorbing liquid. Microwave on 70% power to prevent spinach from turning khaki, or warm slowly on the stovetop with a wooden spoon in the pot to prevent scorching. If you plan to freeze half the batch, skip adding spinach to that portion; freeze the soup base and stir in fresh spinach when reheating for brighter color and flavor.
Frequently Asked Questions
Hearty Vegetable and Bean Soup with Spinach and Tomatoes
Ingredients
Instructions
- Build the base: Heat olive oil in Dutch oven over medium. Add onion, carrot, celery, and ½ tsp salt; cook 8 min until translucent.
- Bloom tomato paste: Clear center, add tomato paste and garlic; cook 2 min until brick-red.
- Deglaze: Splash in ½ cup broth, scrape browned bits, cook 1 min.
- Simmer: Stir in beans, tomatoes, remaining broth, bay leaves, oregano, pepper, and red-pepper flakes. Partially cover, simmer 15 min.
- Add veg: Stir in zucchini and bell pepper; cook 8 min.
- Finish: Remove bay leaves, add spinach to wilt, then lemon juice and parsley. Season with salt. Serve hot with olive oil drizzle.
Recipe Notes
For a thicker stew, mash ½ cup beans before adding zucchini. Soup thickens as it stands—thin with broth when reheating.