Soups & Stews
This amazing minestrone soup recipe brings the cozy, hearty flavors of Italy straight to your kitchen—packed with tender beans, fresh vegetables, and aromatic herbs that simmer into a perfectly balanced bowl of comfort. ✨ The secret lies in building layers of flavor: sautéing onions and garlic until fragrant, letting beans and tomatoes develop deep, savory notes, and finishing with a splash of lemon to brighten everything up.
I’ve perfected this version to be foolproof, using pantry staples while still delivering restaurant-quality results every time.
What makes this minestrone truly special is how it comes together—no fancy techniques required, just a big pot, a little patience, and a mix of ingredients you likely already have.
The beans soften just enough to hold their shape while absorbing the broth’s rich flavors, and the vegetables stay vibrant and crisp-tender. A sprinkle of fresh parsley at the end adds that final touch of freshness that makes it taste homemade, not store-bought.
By the time you’re done, you’ll have a steaming bowl of soup that’s hearty enough for a cold day but light enough for lunch. The broth is deeply flavorful, the beans are tender but not mushy, and every bite is packed with texture—creamy beans, crisp carrots, and chewy pasta.
It’s the kind of soup that disappears fast, leaving everyone asking for seconds.
Serve it with crusty bread to soak up every last drop of that savory broth, or pair it with a simple green salad for a complete meal. The best part? This recipe scales easily—double it for a crowd or halve it for a light dinner. Let’s get cooking!
Ingredients for amazing minestrone soup
Pantry staples meet Italian flavors—just 16 ingredients for a bowl of cozy perfection.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Cannellini Beans 🌱 | 1 ½ cups | Uncooked, soaked overnight |
| Dried Kidney Beans 🌱 | 1 cup | Uncooked, soaked overnight |
| Diced Tomatoes (San Marzano) 🍅 | 2 cups | Canned, high quality |
| Yellow Onion 🧅 | 2 whole | Medium, diced finely |
| Garlic Cloves 🧄 | 4 cloves | Fresh, minced |
| Carrots 🥕 | 3 whole | Medium, sliced thin |
| Celery Stalks 🌿 | 3 whole | Fresh, diced |
| Ditalini Pasta 🍝 | 1 cup | Uncooked, short pasta |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Extra-Virgin Olive Oil 🫒 | ½ cup | For sautéing |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
| Fresh Basil 🌿 | ⅛ cup | Chopped, for garnish |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Dried Oregano 🍃 | 1 tsp | Italian preferred |
The beans are the heart of this soup. Cannellini and kidney beans give you that classic minestrone texture—creamy but still holding their shape. Soak them overnight (or use the quick-soak method) for the best results. Trader Joe's has pre-soaked beans, but they're pricier. For the tomatoes, San Marzano cans are worth the splurge—they're sweeter and less acidic. If you're using dried beans, rinse them well after soaking. The onions and garlic? Sauté them until they're golden—this builds the base flavor that makes everything else sing. I always grab extra garlic because it disappears fast.
No canned tomatoes? Fresh crushed tomatoes work too, but they'll make the soup more watery. Swap kidney beans for white beans or lentils if you prefer. The pasta? Ditalini or small shells hold up best in soup. For extra depth, add a pinch of red pepper flakes. Fresh herbs are ideal, but dried basil at half the amount gets you close. The vegetable broth can be homemade (just simmer veggie scraps) or store-bought—Pacific Foods or Imagine are my go-tos for low-sodium options. And if you're short on time, pre-cooked beans from the canned goods aisle work in a pinch.
This soup tastes even better the next day—honestly, the flavors meld into something magical. Keeps for 4-5 days in the fridge, and freezes beautifully for 3 months. I always make a double batch and freeze half for lazy days. Store it in airtight containers, and don't forget to leave room at the top—it expands as it cools. When reheating, add a splash of water or broth to keep it from getting too thick. Garnish with fresh herbs right before serving—that bright green color makes it look (and taste) restaurant-worthy.
Why You'll Love This Recipe
- No-Soaking Needed: Soak the dried beans overnight? Not here. Just toss them in cold water with a pinch of salt and let them simmer—no fuss, no waiting. By the time the onion and garlic mellow into the broth, those beans turn tender and creamy without any extra steps.
- San Marzano Magic: That sweet, meaty depth from San Marzano tomatoes? It’s the secret weapon. The first spoonful hits like summer—bright but rich—and the cannellini beans soak it up, turning the soup into something that tastes like it simmered all day, even if it didn’t.
- Lunchbox to Leftovers: Pack it cold for work or reheat it for dinner—this soup holds its shape. The kidney beans add heartiness, while the tomatoes keep it vibrant, so it’s just as good the next day (if it even lasts that long). Honestly, I’ve had it for breakfast with crusty bread and never looked back.
- Pantry Powerhouse: Three beans, a can of tomatoes, and basic spices—this recipe doesn’t break the bank. I’ve made it for potlucks, sick days, and lazy Sundays, and it’s always the dish people ask for seconds on. Plus, the leftovers freeze like a dream, so you’re never stuck without a meal.
Step-by-step instructions for hearty minestrone soup
This is where the magic happens—layered flavors, tender beans, and al dente pasta come together.
🍳 Step 1: Sauté the Vegetable Base
Heat the 0.5 cup extra-virgin olive oil in a large Dutch oven over medium heat. Add the 2 whole yellow onion, 3 whole carrots, and 3 whole celery stalks (all finely diced). Cook for 8-10 minutes until the vegetables soften and the onion becomes translucent.
Here's the thing—don't rush this step. You want the vegetables to release their natural sweetness and develop a deep golden color. If the onions start to brown too quickly, reduce the heat slightly. Add the 4 cloves minced garlic and 1 tsp dried oregano after 5 minutes of cooking, stirring constantly for 30 seconds until fragrant.
🥘 Step 2: Build the Soup Foundation
Pour in the 2 cups diced tomatoes (San Marzano) and 4 cups vegetable broth. Stir well to combine, scraping up any browned bits from the bottom of the pot. Bring the mixture to a gentle boil, then reduce heat to medium-low and let it simmer for 15 minutes uncovered.
This simmering time allows the flavors to meld together beautifully. You'll notice the soup developing a rich, tomatoey aroma—this is your signal that the base is ready. If the liquid reduces too much, add a splash of water to maintain the proper consistency for the beans to cook properly later.
👨🍳 Step 3: Add the Soaked Beans
Drain the soaked 1.5 cups dried cannellini beans and 1 cup dried kidney beans, reserving 1 cup of the soaking liquid. Add the beans to the simmering soup along with their reserved soaking liquid. Stir gently and return to a simmer over medium-low heat.
Partially cover the pot and let the beans cook for 45-50 minutes. You want them to be tender but not falling apart. I like to check them after 40 minutes—press a bean with your spoon. If it's still firm, give it another 10 minutes. The beans should be creamy inside but hold their shape.
🍳 Step 4: Finish with Pasta and Fresh Herbs
About 10 minutes before the beans are tender, add the 1 cup ditalini pasta to the soup. Stir gently to distribute it evenly. The pasta will cook quickly in the hot broth. Add the 1.5 tsp salt and 0.5 tsp black pepper now—this ensures everything is perfectly seasoned.
In the last 5 minutes of cooking, stir in the 1 tbsp lemon juice. This brightens the flavors and balances the richness of the soup. Remove the pot from heat and let it sit for 5 minutes to allow the flavors to meld together. Stir in the 0.25 cup fresh parsley and 0.125 cup fresh basil just before serving.
🍽️ Step 5: Serve with Confidence
Ladle the minestrone into bowls and serve immediately. Each spoonful should deliver tender beans, al dente pasta, and a rich broth infused with vegetable flavors. The lemon juice adds a refreshing brightness that cuts through the heartiness of the soup.
This is the moment that matters: the perfect balance of textures and flavors. The beans should be creamy but not mushy, the pasta al dente, and the broth rich yet not overpowering. If you have any leftovers, they'll taste even better the next day as the flavors continue to develop.
Pro Tips For Making Amazing Minestrone Soup
- SOAK BEANS SEPARATELY: Dried kidney beans need a 4+ hour soak (or overnight), while cannellini beans can handle just 1 hour in warm water—don’t skip this step or your soup will taste mealy. I learned this the hard way when I tossed them all in together and ended up with a mushy texture.
- SWEAT ONIONS LOW: Cook the onions until they’re translucent but not browned—this prevents bitterness that’ll linger even after adding tomatoes. Too much heat turns them into flavor mud, and you’ll be chasing that taste all night.
- DON’T SKIP THE GARLIC TOAST: Crush the garlic cloves and fry them in olive oil for 30 seconds until fragrant—this builds depth before the tomatoes even hit the pot. Raw garlic just tastes like a missed opportunity.
- SAVE TIME WITH HALF-CANNED BEANS: Drain and rinse one can each of cannellini and kidney beans to cut cooking time by 30 minutes while keeping the texture right. Just don’t overdo it—too many canned beans make the soup taste like a shortcut.
Storing and reheating your leftovers
Refrigerator Storage
Let your minestrone cool completely before transferring it to airtight glass containers—I love using Pyrex with snap-on lids for easy stacking. Store in the fridge for up to 4-5 days, but honestly, it tastes even better the next day as the flavors meld together. The pasta absorbs the broth beautifully, making each spoonful heartier. Just
Freezer Prep Tips
For long-term storage, freeze minestrone in quart-sized freezer bags (lay them flat to save space). Portion it into 2-cup servings so you can thaw just what you need. Leave 1 inch of headspace and squeeze out excess air to prevent freezer burn. Label with the date—this soup keeps its quality for 3 months without losing its vibrant colors or rich flavors. I always freeze half a batch right after making it for lazy weeknights. ❄️
Reheating Perfection
Stovetop reheating is my go-to method—it preserves texture better than microwaving. Transfer soup to a pot and heat over medium-low heat for 10-12 minutes, stirring occasionally. Add ¼ cup water or broth if it thickens too much.
Taste and adjust seasoning—minestrone often needs a pinch of salt after reheating. For extra richness, stir in 1 tablespoon olive oil at the end. 🔥
Microwave Shortcut
When you're in a hurry, microwave individual portions in microwave-safe bowls covered with a damp paper towel. Heat on 50% power for 3-4 minutes, stirring halfway. Add a splash of water or broth if the soup seems too thick.
The microwave can make beans gummy, so I only use this method for quick lunches—not ideal for leftovers meant to be reheated multiple times.
Reviving Texture
If your reheated minestrone loses its snap, don't worry—it's an easy fix. Add ½ cup fresh vegetable broth and simmer for 5 more minutes. The beans will rehydrate slightly, and the pasta will soften just enough to regain its tender texture.
A sprinkle of fresh parsley or basil right before serving adds that restaurant-quality freshness. Trust me, it makes all the difference! ✨
Nutrition facts
Frequently asked questions
Can I make this minestrone without soaking the beans overnight?
Yes! Use the quick-soak method: cover beans in boiling water for 2 minutes, then let them sit off heat for 1 hour. Drain before adding to the soup. For kidney beans, quick-soaking works well, but cannellini beans need the full overnight soak for best texture. If short on time, use canned beans—just rinse them well to remove excess sodium.
What vegetables can I swap in for the carrots and celery?
This recipe is flexible! Try zucchini or spinach (add at the end) for extra freshness, or swap carrots for sweet potatoes (diced small). For more heartiness, add diced potatoes or mushrooms. Just adjust cooking times—potatoes need 15-20 minutes while zucchini cooks in 5 minutes. Keep the total vegetable volume similar to maintain balance.
Why does my minestrone taste bland after reheating?
Reheating often dulls flavors because moisture evaporates. Fix it by adding ¼ cup fresh vegetable broth or water, then simmering for 5 minutes. Taste and adjust with salt, black pepper, or a splash of lemon juice. For extra depth, stir in 1 tsp tomato paste or ½ tsp red pepper flakes while reheating. Fresh herbs added right before serving also make a huge difference!
Can I make this minestrone in an Instant Pot?
Sauté onions, carrots, celery, and garlic first. Add tomatoes, broth, and beans, then cook on high pressure for 12 minutes. Quick-release, then add pasta and cook on sauté mode for 5 minutes. The Instant Pot cuts cooking time to 30 minutes total. Just watch the liquid level—add water if needed during cooking to prevent burning.
How do I make this gluten-free?
Swap the ditalini pasta for gluten-free pasta (like brown rice or chickpea pasta). Check that your vegetable broth is certified gluten-free, and verify all spices (like oregano) are processed in a gluten-free facility. For extra flavor, add ½ cup gluten-free cornmeal to thicken the broth if needed. The texture will be slightly different but still delicious!
