Hearty and full of flavor, this 15-Bean Soup with tomatoes and spices makes the ultimate plant-based comfort meal that freezes beautifully.

Hearty Vegan 15-Bean Soup with Tomatoes: A Big Bowl of Cozy, Plant-Powered Goodness
I first learned about the 15-bean mix last year from my mother-in-law. Beans are honestly one of my favorite foods, and when we were visiting her in Florida, she made this mixed bean soup that caught my attention. I couldn’t figure out how she managed to get so many types in one pot until I realized you can actually buy a bag of mixed beans—such a game changer. Some brands come with a “ham” seasoning packet, which you can just toss, of course. Once I got home, I started working on my own version, and that’s how Hearty Vegan 15-Bean Soup with Tomatoes came to life. It’s hearty, well-seasoned, full of fiber and protein, freezes beautifully, and makes enough to feed you for days.
Why You’ll Love This Recipe
It’s hearty and satisfying. This soup is packed with fiber, protein, and just the right amount of spice to make every bite comforting and filling.
The 15-bean mix adds amazing texture. Each bean cooks up a little differently, creating a naturally rich, layered flavor without any extra work.
It’s packed with plant-based nutrition. Beans and lentils are loaded with protein, iron, and minerals that support energy and heart health.
Perfect for make-ahead meals. The flavors deepen as it sits, making it ideal for meal prep, leftovers, or freezing for a rainy day.
It’s simple but full of flavor. A few pantry spices, good broth, and fresh lemon juice bring it all together for a truly wholesome bowl.

Ingredient Highlight: 15-Bean Mix
The real star of this soup is the 15-bean mix—a colorful blend that usually includes beans like kidney, navy, black, pinto, lentils, and sometimes chickpeas. Each one adds its own texture and flavor, making every bite a little different. Beyond being hearty and satisfying, this mix is loaded with plant-based protein, fiber, and minerals like iron, potassium, and magnesium. The lentils and beans together make it a nutrient powerhouse that supports digestion, heart health, and long-lasting energy.

Madly Delicious Must-Know Tips & Questions
Make It Your Own: Add in chopped carrots, celery, or diced bell peppers if you want extra veggies and color in the mix.
Season Smart: Beans soak up flavor as they cook, so don’t be shy with your spices. Taste and adjust near the end of cooking—especially for salt, pepper, and heat.
Meal Prep Friendly: This soup tastes even better the next day. The flavors deepen overnight, and it reheats beautifully for quick lunches or easy dinners all week.
Freezer Favorite: Let the soup cool completely before freezing. Store in individual containers for easy grab-and-heat meals that keep for up to three months.
Can I skip soaking the beans?
I would not recommend it. You can, but the texture will be a lot firmer and the cooking time longer. Soaking helps them cook more evenly and digest more easily.
How can I thicken the soup?
Mash a scoop of beans against the pot with a spoon or blend a small portion, then stir it back in for a naturally creamy consistency—no flour or cream needed.

Let’s Dish About Beans: Did You Know?
Beans have been part of human diets for over 7,000 years, making them one of the oldest and most sustainable foods on the planet. They’ve nourished cultures across every continent—from Mexican frijoles and Indian dals to Mediterranean stews and Southern-style soups. Beyond being full of protein and fiber, beans actually help the environment by restoring nitrogen to the soil, which improves fertility for future crops. Talk about comfort food that gives back. 🌱

Looking for a hearty, wholesome meal? Then try my Hearty Vegan 15-Bean Soup with Tomatoes!
It’s full of plant-based protein, rich tomato flavor, and that slow-simmered comfort that just hits right on cooler days. Give it a try and tag me on Instagram @madly__delicious with #MadlyDelicious to share your take!
More Bean Recipes
Smoky White Bean and Kale Soup

Hearty Vegan 15-Bean Soup with Tomatoes
Equipment
- Large Pot
Ingredients
- 1 (20-ounce) bag of 15-bean soup mix (discard the "ham"seasoning packet, if included)*
- 2 (32-ounce) cartons vegetable low sodium broth (or a mix of broth and water)
- 1 (14.5-ounce) can diced tomatoes or fire-roasted tomatoes
- 2 tbsp olive oil
- 1 large yellow or sweet onion, diced
- 2 cloves garlic, minced
- 2½ tsp dried cumin
- 2½ tsp dried oregano
- 2½ tsp paprika (regular or smoked or a mix)
- 1 tsp chili powder
- 1 bay leaf
- ½-1 tsp cayenne, optional
- 1¼ tsp salt, adjust to taste
- ¾ tsp black pepper, adjust to taste
- Juice of 1 lemon
Instructions
- Soak the Beans: Rinse 1 (20-ounce) bag of 15-bean mix under cold water to remove any debris. Place the beans in a large bowl and cover with water by 2–3 inches. Let soak overnight (8–14 hours). Drain and rinse well before cooking.
- Sauté the Aromatics: In a large pot, heat 2 tbsp olive oil over medium heat. Add 1 diced onion and cook for 5–6 minutes until softened and lightly golden. Stir in 2 minced garlic cloves and cook for 1 minute until fragrant.
- Build the Flavor: Add the soaked beans to the pot along with 2 cartons of vegetable broth and 1 can diced tomatoes. Stir in 2½ tsp cumin, 2½ tsp oregano, 2½ tsp paprika, 1 tsp chili powder, 1 bay leaf, ½–1 tsp cayenne (if using), 1¼ tsp salt, and ¾ tsp black pepper. Stir to combine.
- Simmer Low and Slow: Bring the soup to a boil, then reduce the heat to low. Cover and simmer gently for 2½–3 hours, stirring occasionally, until the beans are tender and the broth has thickened.
- Brighten and Serve: Remove the bay leaf, then stir in the juice of 1 lemon to add brightness. Taste and adjust seasoning as needed. Serve warm with crusty bread or over rice.
Notes
- 10 oz 15-bean mix
- 4 cups vegetable broth
- ½ can (7–8 oz) diced tomatoes
- 1 tbsp olive oil
- ½ large onion, diced
- 1 clove garlic, minced
- 1¼ tsp cumin
- 1¼ tsp oregano
- 1¼ tsp paprika
- ½ tsp chili powder
- ½ bay leaf (or 1 small one)
- ¼–½ tsp cayenne
- ¾ tsp salt
- ¼ tsp black pepper
- Juice of ½ lemon
