Soups & Stews
This minestrone soup recipe delivers the comforting, vegetable-packed warmth of a classic Italian one-pot that’s perfect for chilly evenings or busy weeknights.
Growing up, Mrs. Henderson taught me how a simple pot of beans, tomatoes, and herbs could turn a modest meal into something hearty enough to feed a crowd—just like this version.
The secret lies in slow-simmered broth and al dente pasta that soaks up every layer of flavor without turning mushy.
What sets this minestrone apart is its balance of textures and flavors—tender white beans, crisp carrots, and chewy pasta all working together in a savory broth. I’ve streamlined the process to keep it one-pot, so cleanup is minimal, but the result tastes like it simmered all day.
The recipe stays true to its Italian roots while adapting for modern kitchens, with optional additions like spinach or zucchini to use up garden freshness.
By the time you’re stirring the final spoonful, you’ll have a rich, aromatic soup with deep tomato notes, earthy beans, and herbs that brighten every bite. The pasta absorbs the broth just enough to make it hearty, while the vegetables retain their natural crunch.
Serve it with crusty bread to soak up every last drop—this is the kind of soup that tastes even better the next day, making it ideal for meal prep.
For non-vegetarians, a sprinkle of Parmesan or a handful of crispy pancetta adds depth, but the base recipe stands strong on its own. Whether you’re feeding a family or prepping for the week, this minestrone delivers restaurant-quality comfort without the fuss. Let’s get cooking!
Ingredients for minstrone soup
Pantry staples meet fresh garden veggies for this hearty, one-pot Italian classic.
| Ingredient | Amount | Notes |
|---|---|---|
| Cannellini Beans 🌱 | 1 ½ cups | Dried or canned, drained |
| Ditalini Pasta 🍝 | 1 cup | Uncooked, al dente preferred |
| Crushed Tomatoes 🍅 | 2 cups | San Marzano preferred |
| Vegetable Broth 💧 | 4 cups | Low sodium preferred |
| Carrots 🥕 | 3 medium | Peeled, chopped into sticks |
| Celery Stalks 🌿 | 3 whole | Chopped, leafy parts removed |
| Onion 🧅 | 1 medium | Yellow or white, diced |
| Garlic Cloves 🧄 | 4 cloves | Minced, fresh preferred |
| Fresh Parsley 🌿 | ¼ cup | Chopped, stems removed |
| Fresh Basil 🌿 | 0.15 cup | Chopped, for garnish |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For sautéing vegetables |
| Sea Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Bay Leaves 🌿 | 2 whole | Remove before serving |
| Spinach 🌱 | 2 cups | Fresh, chopped (optional) |
The canned beans and tomatoes make this a breeze—store-bought or homemade—but if you're using dried beans, soak them overnight. Trader Joe's and Whole Foods carry great canned beans with no added salt. For the tomatoes, San Marzano is my go-to for that classic sweetness, but any good-quality canned tomatoes work. The broth? Low-sodium vegetable broth is key here—Pacific Foods or Imagine brands are solid choices. Fresh herbs like parsley and basil brighten the soup, but dried works in a pinch (use half the amount).
No fresh basil? Dried basil at one-third the amount gets you close. Swap ditalini for any small pasta—penne or orzo both work well. The spinach is optional but adds a nice pop of color and nutrients—baby spinach or chopped regular leaves both work. For a smokier flavor, add a dash of smoked paprika or a pinch of red pepper flakes. The carrots and celery can be prepped ahead and stored in the fridge for up to 3 days—just chop them right before cooking to keep them crisp.
This soup tastes even better the next day as the flavors meld together. Store leftovers in an airtight container in the fridge for up to 5 days. Freeze portions for up to 3 months—just thaw overnight in the fridge before reheating. I like to double the recipe and freeze half for lazy weeknights. The pasta stays al dente if you reheat it gently with a splash of broth or water. Garnish with extra herbs and a drizzle of olive oil before serving.
Why You'll Love This Recipe
- Pantry-Friendly Magic: I swear by this one—no special shopping trips needed. Cannellini beans and crushed tomatoes sit in my pantry for months, and the ditalini pasta just... hides in the cabinet until I remember it’s there. Throw in a few carrots (or skip ‘em if you’re lazy) and boom—dinner’s sorted.
- Umami Bomb Combo: That crushed tomato base with simmered carrots? It’s like a flavor hug. The cannellini beans add this creamy, meaty depth, while the ditalini soaks up all the good stuff—no bland broth here. Honestly, the first bite makes me pause mid-spoonful.
- Leftovers That Don’t Suck: Between us, most soups turn sad after day two. Not this one. The pasta holds its shape, the beans stay tender, and the broth actually improves overnight. I freeze half the batch—perfect for those "I can’t be bothered" nights when I just need warmth in a bowl.
- Budget Meal for Everyone: This feeds four for under $5 at my grocery store. The beans and pasta stretch the broth into something substantial, and I’ve even convinced my picky teen to eat it (she calls it "fancy bean water," but she’s wrong). No guilt, no gimmicks—just solid, filling comfort.
Step-by-step instructions for minestrone soup
Here's how to make this hearty, one-pot classic with simple steps and big flavor.
Sauté the Vegetable Base
Heat the 2 tablespoons extra-virgin olive oil in a large Dutch oven or deep pot over medium heat. Add the 1 medium onion, 3 whole celery stalks, and 3 medium carrots, all chopped into even pieces. Cook for 8-10 minutes, stirring occasionally, until the vegetables soften and the onion becomes translucent.
Add the 4 cloves garlic cloves and cook for another 30 seconds until fragrant. This step builds the foundation of flavor—don't rush it. The vegetables should release their natural juices and begin to caramelize slightly at the edges. If the pan starts to smell too strong, reduce the heat slightly to prevent burning.
Add Tomatoes and Seasonings
Pour in the 2 cups crushed tomatoes and stir to combine with the sautéed vegetables. Let it simmer for 3-4 minutes until the raw tomato taste mellows slightly. Add the 1.5 teaspoons sea salt, 0.5 teaspoon black pepper, and 2 whole bay leaves, stirring well to distribute the seasonings evenly.
Here's the thing—this is where the soup starts to come together. The tomatoes will break down and blend with the vegetables, creating a rich, savory base. If the mixture looks too thick, add ½ cup of the vegetable broth now to loosen it slightly. The soup should have a thick but spoonable consistency at this stage.
Simmer with Beans and Broth
Add the 1.5 cups cannellini beans (drained if using canned) and the 4 cups vegetable broth to the pot. Stir well to combine, then bring the mixture to a gentle boil. Once boiling, reduce the heat to low and let it simmer uncovered for 20-25 minutes. This allows the flavors to meld and the beans to absorb the broth.
During this time, you'll notice the soup develop a deeper color and richer aroma. The beans should begin to soften, and the vegetables should become tender. Taste the soup after 15 minutes—if it needs more salt, adjust now. The broth should be fully incorporated, and the soup should have a hearty, comforting texture.
Add Pasta and Finish with Greens
Add the 1 cup ditalini pasta to the simmering soup and cook for 8-10 minutes, stirring occasionally, until the pasta is al dente. You want the pasta to be tender but still have a slight bite. If the soup starts to look too thick as the pasta absorbs the liquid, add ½ cup more vegetable broth to keep it loose.
In the last 2 minutes of cooking, stir in the 2 cups spinach. The heat will wilt the greens instantly, infusing the soup with fresh flavor. Remove the 2 whole bay leaves before serving—you don't want their tough stems in your bowl. The spinach should blend seamlessly into the soup, adding a vibrant touch of color and nutrients.
Garnish and Serve
Ladle the minestrone into bowls and garnish each serving with 0.25 cup fresh parsley and 0.15 cup fresh basil. The herbs add a bright, fresh contrast to the hearty soup. Serve immediately while hot, with crusty bread on the side to soak up every last drop of that flavorful broth.
This soup tastes even better the next day as the flavors continue to develop. Store leftovers in an airtight container in the refrigerator for up to 4 days, or freeze for 3 months. The one-pot method makes this dish incredibly convenient—just stir and enjoy!
Pro Tips For Making Minstrone Soup
- SOFTEN BEANS FIRST: Toss your cannellini beans in a colander under cold water for 10 minutes before adding them to the pot. I learned this the hard way—skipping it turns your soup into a gluey mess instead of a creamy, flavorful base.
- SIMMER CARROTS LOW: Cut carrots into ¼-inch slices and cook them on low heat for 10 minutes before adding anything else. High heat turns them mushy; slow cooking keeps them tender without falling apart.
- SALT THE BROTH LATE: Hold off on seasoning the vegetable broth until the very end—after pasta and beans are added. Early salting makes the beans absorb too much water, diluting their flavor.
- UPGRADE WITH A SPLASH: Stir in 2 tablespoons of pasta water when the ditalini is al dente. It loosens the soup just enough to make it silky, and it’s way faster than adding extra broth.
Troubleshooting great minstrone soup
Mushy Vegetables
If your carrots or celery turn to mush, you’re either overcooking them or adding them too early. I’ve found that chopping vegetables into even ½-inch pieces ensures they cook uniformly.
Add harder veggies like carrots and celery with the tomatoes, but reserve delicate greens like spinach for the last 2 minutes—this keeps their texture perfect. 🥕
Pasta Too Soft
Overcooked pasta ruins the texture of minestrone. To fix this, cook the pasta in the soup for just 8-10 minutes (or per package instructions minus 1 minute). If your soup seems too thick while pasta cooks, add ½ cup broth instead of water—this keeps the flavor concentrated.
I always taste-test a piece of pasta before serving to ensure it’s al dente.
Broth Too Thin
A watery soup happens when the broth isn’t reduced enough. After adding beans and broth, simmer uncovered for 20-25 minutes—this lets excess liquid evaporate naturally. If it’s still too thin, mash ½ cup beans with a fork to thicken it naturally.
For extra richness, stir in 1 tablespoon tomato paste at the end. 💧
Flat or Bland Flavor
Minestrone needs a balance of acidity and umami. If yours tastes bland, boost it with 1 teaspoon balsamic vinegar or a pinch of red pepper flakes. I also keep a stash of Parmesan rind in the freezer—simmer it with the broth for 15 minutes to add depth.
Fresh herbs like basil and parsley make all the difference, so don’t skip them!
Beans Too Hard
Canned beans are convenient, but if they’re still hard after simmering, they’re likely undercooked. For canned beans, simmer them for an extra 5-10 minutes with the broth. If using dried beans, soak them overnight and simmer for 1-1.5 hours until tender.
Pro tip: Add a pinch of baking soda to the soaking water to soften them faster.
Oily or Greasy Texture
Too much olive oil can make minestrone greasy. Stick to 2 tablespoons for sautéing and avoid adding extra. If the soup seems oily, skim excess fat with a spoon after simmering.
For a lighter touch, use avocado oil instead—it has a higher smoke point and less flavor, so it won’t overpower the dish. 🫒
Nutrition facts
Frequently asked questions
Can I make this minestrone soup vegan?
Skip the Parmesan and use vegetable broth instead of any meat-based broth. For extra richness, stir in 1 tablespoon nutritional yeast at the end—it adds a cheesy, umami flavor. Also, check your canned beans for added preservatives or salt if you're avoiding all animal products.
What's the best pasta shape for minestrone?
Ditalini (tiny tubes) is classic, but penne, orzo, or small shells all work beautifully. The key is using a pasta that holds up well in broth without turning mushy. Avoid long pasta like spaghetti—it can get tangled and overcook. For extra texture, try adding ½ cup diced potatoes along with the other vegetables.
How can I make this soup gluten-free?
Swap the regular pasta for gluten-free pasta (like brown rice or chickpea pasta) and use tamari instead of soy sauce if you add any. All other ingredients in this recipe are naturally gluten-free. For extra heartiness, add ½ cup cooked quinoa along with the pasta—it absorbs the broth beautifully while adding protein.
Can I prep minestrone ahead of time?
This soup actually tastes better the next day! Cook it completely, then store in an airtight container in the fridge for up to 5 days. Reheat gently on the stove with a splash of broth or water. For freezing, cool the soup completely, then freeze portions for up to 3 months. Thaw overnight in the fridge before reheating—never microwave directly from frozen.
What's the secret to restaurant-quality minestrone?
Simmer the soup low and slow—at least 20-25 minutes after adding the beans. The longer it cooks, the more the flavors meld together. Also, don't skip the fresh herbs at the end—they brighten the dish. For extra depth, add a Parmesan rind to the broth while simmering, or stir in 1 teaspoon red wine when adding the tomatoes. The magic is in the patience!
