This hearty 3 bean soup is warm, comforting, and packed with wholesome ingredients that make it perfect for nourishing your body any time of year. Loaded with tender beans, vegetables, and flavorful herbs, it’s a satisfying meal that feels both cozy and energizing.
Why You’ll Love This Recipe
This soup is filling without being heavy, thanks to the combination of protein-rich beans and fiber-packed vegetables. It’s made in one pot, which keeps cleanup simple, and the flavors deepen beautifully as it simmers. Whether you’re meal-prepping for the week or serving a cozy family dinner, this soup delivers comfort and nutrition in every spoonful.
Ingredients
(Tip: You’ll find the full list of ingredients and measurements in the recipe card below.)
2 tablespoons olive oil
1 medium yellow onion, finely chopped
2 medium carrots, diced
2 celery stalks, diced
3 cloves garlic, minced
1 teaspoon dried oregano
1 teaspoon dried thyme
1/2 teaspoon smoked paprika
1/4 teaspoon ground black pepper
1 teaspoon sea salt
1 can (15 ounces / 425 g) cannellini beans, drained and rinsed
1 can (15 ounces / 425 g) black beans, drained and rinsed
1 can (15 ounces / 425 g) red kidney beans, drained and rinsed
1 can (14.5 ounces / 411 g) diced tomatoes
4 cups (960 ml) vegetable broth
1 cup (240 ml) water
1 bay leaf
1 cup (150 g) chopped zucchini
1 cup (40 g) fresh spinach, chopped
1 tablespoon fresh parsley, finely chopped
1 tablespoon fresh lemon juice
Directions
Heat the olive oil in a large pot over medium heat. Add the chopped onion, carrots, and celery, and cook for about 5 minutes until the vegetables soften and the onion becomes translucent.
Stir in the garlic, oregano, thyme, smoked paprika, salt, and black pepper. Cook for 30 seconds until fragrant.
Add the cannellini beans, black beans, and kidney beans to the pot, followed by the diced tomatoes, vegetable broth, water, and bay leaf. Stir well to combine.
Bring the soup to a gentle boil, then reduce the heat to low. Cover and simmer for 20 minutes, allowing the flavors to meld together.
Add the zucchini and simmer for an additional 5 minutes, until tender. Stir in the chopped spinach and cook for 1 to 2 minutes, just until wilted.
Remove the bay leaf, then stir in the fresh parsley and lemon juice. Taste and adjust seasoning if needed before serving.
For a spicier version, add 1/4 teaspoon of chili flakes or a finely chopped mild chili pepper.
To make it heartier, stir in cooked brown rice or quinoa before serving.
For a creamier texture, blend one cup of the soup and stir it back into the pot.
You can swap zucchini for green beans or sweet potatoes depending on what you have on hand.
Storage/Reheating
Allow the soup to cool completely before storing. Keep it in an airtight container in the refrigerator for up to 4 days. For longer storage, freeze portions for up to 3 months.
To reheat, warm the soup gently on the stovetop over medium heat, stirring occasionally, or microwave in a covered bowl until heated through.
FAQs
Can I make this soup ahead of time?
Yes, this soup tastes even better the next day as the flavors continue to develop.
Is this soup suitable for meal prep?
Absolutely. It stores well and reheats easily, making it ideal for weekly meal prep.
Can I use dried beans instead of canned?
Yes, but be sure to cook the dried beans fully before adding them to the soup.
How can I thicken the soup?
You can mash some of the beans with a fork or blend a portion of the soup for a thicker texture.
Is this soup freezer-friendly?
Yes, it freezes very well when stored in airtight containers.
Can I add more vegetables?
Definitely. Bell peppers, green beans, or sweet potatoes all work well.
What can I serve with this soup?
It pairs nicely with crusty bread, a side salad, or whole-grain flatbread.
Is this soup suitable for a plant-based diet?
Yes, it is completely plant-based as written.
Can I reduce the sodium?
Use low-sodium vegetable broth and adjust the salt to taste.
How do I keep the beans from getting mushy?
Avoid overcooking once the beans are added and simmer gently.
Conclusion
This hearty 3 bean soup is a simple, nourishing recipe that brings together comfort and nutrition in one bowl. With its rich flavor, satisfying texture, and easy preparation, it’s a recipe you’ll want to keep on repeat for cozy lunches and dinners alike.
This hearty 3 bean soup is a comforting, plant-based one-pot meal made with three types of beans, fresh vegetables, herbs, and a flavorful broth. It’s filling, nutritious, and perfect for meal prep or cozy dinners.
Ingredients
2 tablespoons olive oil
1 medium yellow onion, finely chopped
2 medium carrots, diced
2 celery stalks, diced
3 cloves garlic, minced
1 teaspoon dried oregano
1 teaspoon dried thyme
1/2 teaspoon smoked paprika
1/4 teaspoon ground black pepper
1 teaspoon sea salt
1 can (15 oz / 425 g) cannellini beans, drained and rinsed
1 can (15 oz / 425 g) black beans, drained and rinsed
1 can (15 oz / 425 g) red kidney beans, drained and rinsed
1 can (14.5 oz / 411 g) diced tomatoes
4 cups (960 ml) vegetable broth
1 cup (240 ml) water
1 bay leaf
1 cup (150 g) chopped zucchini
1 cup (40 g) fresh spinach, chopped
1 tablespoon fresh parsley, finely chopped
1 tablespoon fresh lemon juice
Instructions
Heat olive oil in a large pot over medium heat. Add chopped onion, carrots, and celery. Cook for about 5 minutes, until softened.
Stir in garlic, oregano, thyme, smoked paprika, salt, and pepper. Cook for 30 seconds until fragrant.
Add the cannellini, black, and kidney beans, diced tomatoes, vegetable broth, water, and bay leaf. Stir to combine.
Bring to a gentle boil, then reduce heat to low. Cover and simmer for 20 minutes.
Add chopped zucchini and simmer for another 5 minutes, until tender.
Stir in chopped spinach and cook for 1–2 minutes until wilted.
Remove the bay leaf. Stir in parsley and lemon juice. Adjust seasoning to taste.
Serve warm, optionally with crusty bread or a salad.
Notes
Use low-sodium broth to control salt levels.
Blend a portion of the soup for a thicker texture.
Substitute zucchini with green beans or sweet potatoes.
Add chili flakes or chopped chilies for a spicier kick.