Soups & Stews
This 3 bean minestrone soup recipe transforms humble pantry staples into a restaurant-worthy bowl of hearty, protein-packed goodness. The secret lies in simmering three types of beans—kidney, cannellini, and pinto—until they're tender yet still hold their shape, creating a satisfying bite in every spoonful. I developed this version after realizing how much flavor could come from simple ingredients when given enough time to meld together.
The beauty of this soup is its adaptability—whether you're vegetarian or looking to stretch a budget, it delivers. Traditional minestrone often includes pasta, but this version keeps it bean-forward for maximum protein and fiber. The vegetables—carrots, celery, onions, and tomatoes—add natural sweetness and depth, while herbs like thyme and basil elevate the broth to something truly special.
By the time it's done, you'll have a steaming bowl of soup with rich, savory flavors and a satisfying texture that balances tender beans, al dente vegetables, and a perfectly seasoned broth. The aroma alone will have everyone asking what's for dinner, and the taste will keep them coming back for seconds. This is comfort food at its finest—simple, nourishing, and impossible to resist.
Serve it as-is for a light but satisfying meal, or add whole wheat pasta, crusty bread, or a sprinkle of grated parmesan for those who prefer extra heartiness. The best part? It tastes even better the next day, making it perfect for meal prep and leftovers.
Ingredients for 3 bean minestrone soup
Pantry staples meet protein powerhouse—three beans, fresh herbs, and simple veggies for a soup that tastes like love.
| Ingredient | Amount | Notes |
|---|---|---|
| Kidney Beans (Dried) 🌱 | 1 ½ cups | Soaked overnight for best texture |
| Cannellini Beans (Dried) 🌱 | 1 ½ cups | Soaked overnight for best texture |
| Pinto Beans (Dried) 🌱 | 1 ½ cups | Soaked overnight for best texture |
| Vegetable Broth 💧 | 6 cups | Low-sodium preferred for seasoning control |
| Yellow Onion 🧅 | 1 whole | Diced into 1/4-inch pieces |
| Carrots 🥕 | 3 medium | Peeled and sliced into 1/4-inch rounds |
| Celery Stalks 🧅 | 3 whole | Diced into 1/4-inch pieces |
| Garlic Cloves 🧄 | 4 cloves | Minced for aromatic depth |
| Canned Crushed Tomatoes 🍅 | 1 15 oz can | San Marzano preferred for sweetness |
| Fresh Thyme Leaves 🌿 | ½ tsp | Or 1/4 tsp dried thyme |
| Fresh Basil Leaves 🌿 | ¼ cup | Chopped for bright finish |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For sautéing vegetables |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly cracked for best flavor |
| Bay Leaves 🌿 | 2 whole | Removed before serving |
The beans are the heart of this soup—dried is best for that satisfying bite, but canned in a pinch works too. Trader Joe's has the best selection of dried beans, but any grocery store carries them. Soak overnight for perfect texture—no need to peel. Kidney beans add earthiness, cannellini bring creaminess, and pinto gives that classic minestrone depth. Skip the salted canned beans—you'll control the seasoning better. For the broth, low-sodium vegetable broth is key—you'll be adding plenty of salt later.
No fresh thyme or basil? Dried works at one-third the amount, but fresh is worth hunting down at the market. The carrots and celery can be baby versions if that's what you've got—just chop them small. Celery leaves are edible, so use the whole stalk. Garlic? Fresh is non-negotiable here—jarred garlic lacks depth. For the tomatoes, San Marzano cans are the gold standard, but any good-quality crushed tomatoes will do. The olive oil matters too—use something fruity and peppery for best flavor. No olive oil? Vegetable oil works in a bind.
This soup tastes even better the next day—make a double batch if you can. Keeps for 5 days in the fridge or 3 months frozen. I like to portion it into containers for easy lunches. The beans get even more flavorful as they sit. For serving, grated Parmesan and crusty bread are classic additions, but this is delicious as-is. Store the fresh herbs separately if you're prepping ahead—they'll keep for 3 days in the fridge.
Why You'll Love This Recipe
- I’ll be real: dried beans scare people off, but these three—kidney, cannellini, and pinto—soak overnight or just simmer until tender. No fancy prep, no waiting around. That’s 15 minutes less stress for me.
- No-Soaking Needed: I’ll be real: dried beans scare people off, but these three—kidney, cannellini, and pinto—soak overnight or just simmer until tender. No fancy prep, no waiting around. That’s 15 minutes less stress for me.
- Earthy Umami Bomb: The beans alone? Rich and meaty, but add the caramelized onion (sautéed slow and low) and you’ve got layers. Honestly, the first time I tasted this, I thought, This is why people eat soup in January.
- Leftover Goldmine: This soup only gets better the next day. The flavors meld, the broth thickens just right—perfect for lunchboxes or a quick reheat. My kids actually ask for it, and that’s saying something.
Step-by-step instructions for 3 bean minestrone soup
Here's how to build this hearty three-bean minestrone from scratch—simple steps for maximum flavor.
Soak and Prepare the Beans
Start by rinsing the 1.5 cups kidney beans (dried), 1.5 cups cannellini beans (dried), and 1.5 cups pinto beans (dried) under cold water to remove any debris. Place them in a large bowl and cover with plenty of cold water—at least 8 cups—then let them soak overnight. This overnight soak ensures the beans cook evenly and retain their texture.
Here's the thing—don't skip the soaking. Dried beans need this time to rehydrate properly, which prevents them from becoming mushy during cooking. The next morning, drain and rinse the soaked beans again before adding them to your pot. This removes any excess starch that could make your soup gummy.
Sauté the Vegetable Base
Heat the 2 tablespoons extra-virgin olive oil in a large pot over medium heat. Add the diced yellow onion, sliced carrots, and diced celery stalks all at once. Cook for 8-10 minutes, stirring occasionally, until the vegetables soften and the onion becomes translucent.
This step builds the foundation of your soup. The vegetables should release their moisture and begin to caramelize slightly—that's when you'll notice a sweet, aromatic smell filling your kitchen. If you see the vegetables sticking to the bottom, add a splash of vegetable broth to deglaze and keep everything moving.
Add Aromatics and Tomatoes
Push the sautéed vegetables to one side of the pot and add the minced garlic cloves to the empty space. Cook for 30 seconds until fragrant—garlic burns quickly, so don't walk away. Stir everything together, then add the 15 oz can crushed tomatoes, 0.5 teaspoon fresh thyme leaves, and 2 whole bay leaves.
Let this mixture simmer together for 3-4 minutes until the tomatoes begin to break down and the flavors meld. The tomatoes will help deepen the color and add natural sweetness to balance the earthy beans. This is also when you'll want to taste and adjust the seasoning with 1 teaspoon salt and 0.25 teaspoon black pepper—you'll add the rest later.
Build the Soup with Beans and Broth
Add the drained soaked beans to the pot along with 6 cups vegetable broth. Bring everything to a gentle boil, then reduce the heat to low-medium and let it simmer uncovered for 45-60 minutes. You're looking for the beans to become tender but not falling apart—when a bean slices easily with a fork, it's done.
I like to stir occasionally during this time, but don't overdo it—this can make the beans break down too much. Instead, let them cook gently in their own juices. If the soup gets too thick, add a little more broth to keep it soupy. The beans should absorb the flavors beautifully, creating that rich, hearty texture we're after.
Finish with Fresh Herbs and Serve
Remove the 2 whole bay leaves from the soup and discard them. Stir in the 0.25 cup chopped fresh basil leaves and the remaining 0.5 teaspoon salt and 0.25 teaspoon black pepper. Taste and adjust the seasoning one final time—this is where the soup comes together.
Let the soup sit off the heat for 5-10 minutes before serving. This resting time allows the flavors to meld even more. Ladle into bowls and serve immediately, garnished with extra basil if you like. The soup should be hearty, flavorful, and packed with that satisfying three-bean texture—perfect for a cozy meal.
Pro Tips For Making 3 Bean Minestrone Soup
- SOAK BEANS OVERNIGHT: I learned this the hard way—skipping the soak means your beans stay rock-hard no matter how long you simmer. Toss dried kidney, cannellini, and pinto beans in a bowl with cold water (about 3 cups per cup of beans) and let them sit 8+ hours. The next day, drain, rinse, and add fresh water to cook. Trust me, your soup will thank you.
- SAUTÉ ONIONS LOW AND SLOW: After burning three batches of onions, I finally figured out: minestrone isn’t a seared onion race. Cook your diced yellow onion over medium-low heat for 10-12 minutes until soft and golden—not crispy. This builds flavor without bitterness, and it won’t disappear into the broth like it does when you rush it.
- SKIP THE BOILING BROTH: Sounds weird, but it works: add your vegetable broth after the beans and other ingredients are simmering, not boiling. Start with just enough water to cover everything, bring to a gentle boil, then lower heat to a steady simmer. Pour in the broth when the beans are tender—this keeps them from turning mushy while the soup stays rich.
- STIR IN PASTA LAST: I skip this when I’m lazy, but the dish is noticeably better when I don’t. Add your pasta (if using) only in the final 8-10 minutes of cooking. If you dump it in with the beans, it’ll turn to glue. Save yourself the strainer cleanup—just toss it in when it’s almost done and let it finish in the pot.
Flavor customization for this dish
Spicy Heat Boost
Add 1 teaspoon red pepper flakes or ½ teaspoon cayenne pepper when sautéing the vegetables for a subtle kick. For more heat, stir in 1 chopped serrano pepper with the garlic. I like to balance the spice with a pinch of smoked paprika for depth—it adds a smoky note that complements the beans beautifully. 🌶️
Creamy Texture Twist
Blend 1 cup of the finished soup with ½ cup coconut milk or ¼ cup Greek yogurt for a velvety texture. Return the mixture to the pot and simmer for 5 minutes to warm through. This works especially well if you're using kidney beans—their earthy flavor pairs perfectly with the creaminess. Add a splash of lemon juice at the end for brightness.
Umami Depth
Boost the savory profile with 1 teaspoon soy sauce or 2 tablespoons miso paste when adding the tomatoes. For extra richness, stir in 1 tablespoon nutritional yeast at the end—it adds a cheesy, nutty flavor without dairy. I also love adding 1 teaspoon fish sauce (if vegetarian, use ½ teaspoon mushroom sauce) for that deep, complex taste.
Herb Variations
Swap out basil for Italian parsley and oregano for a more Mediterranean twist. Or try cilantro and cumin for a Southwestern-inspired version. For a French touch, add tarragon and a splash of white wine> when sautéing the vegetables. Fresh herbs should always be added at the very end to preserve their brightness.
Pasta Addition
For a more traditional minestrone, add 1 cup small pasta> (like ditalini or orzo) during the final 10 minutes of cooking. I recommend whole wheat pasta for extra fiber. If you prefer a lighter texture, use ½ cup> and add it only in the last 5 minutes>. The pasta should be al dente—it'll continue cooking slightly while the soup rests.
Protein Upgrades
Make it heartier by adding ½ cup cooked diced chicken> or ½ cup crumbled tempeh> in the last 10 minutes> of cooking. For a vegetarian option, stir in ½ cup cooked lentils> with the beans. If you love cheese, top with grated Parmesan> or Pecorino Romano**> before serving. The cheese adds a salty, tangy contrast that makes the soup irresistible.
Nutrition facts
Frequently asked questions about 3 bean minestrone soup
Can I use canned beans instead of dried?
Yes, but with adjustments! Use 3 (15 oz) cans total (1 can each of kidney, cannellini, and pinto beans) and drain/rinse them well. For best flavor, choose low-sodium or no-salt-added varieties. The soup will be ready faster—simmer for just 20-30 minutes after adding the beans instead of 45-60 minutes. Pro tip: Add a pinch of baking soda to the canned beans while rinsing to remove any metallic taste.
How do I make this soup vegetarian?
This recipe is already vegetarian! The original version uses only beans, vegetables, and herbs. For extra protein, add ½ cup cooked lentils or ½ cup crumbled tempeh in the last 10 minutes of cooking. Avoid adding meat or broth with animal fat—stick to vegetable broth for a fully plant-based bowl. The three-bean combo provides 18g protein per serving without any animal products!
Why do my beans turn mushy?
Mushy beans usually mean one of two things: either they were overcooked or they weren't soaked properly. For dried beans, always soak overnight and rinse well before cooking. If using canned beans, don't overcook them—add them in the last 10 minutes of simmering. Another trick: reduce the heat to low-medium once boiling to prevent toughening. The beans should be tender but still hold their shape when pierced with a fork.
Can I make this soup in an Instant Pot?
Sauté the vegetables as directed, then add all ingredients except fresh basil. Seal the lid and cook on high pressure for 15 minutes. Quick-release the pressure, stir in the basil, and let it sit for 5 minutes before serving. The texture will be slightly different (beans may be firmer) but still delicious. For extra flavor, add 1 teaspoon balsamic vinegar at the end. Total time: 30 minutes!
What's the best way to reheat leftovers?
Reheat gently on the stovetop over medium-low heat until bubbling, then simmer for 5-7 minutes. Stir occasionally to prevent sticking. For microwave reheating, cover with a damp paper towel and heat in 1-minute intervals, stirring between each. The soup actually tastes better the next day as flavors meld! Store in an airtight container for up to 5 days in the fridge or 3 months in the freezer.
