A rustic bowl of classic minestrone soup filled with vegetables, cannellini beans, and pasta in a rich tomato broth, topped with freshly grated parmesan and fresh basil

Minestrone Soup Recipe That Actually Fills You Up

Quick Answer

To make minestrone soup, sauté aromatics in olive oil, add vegetables and broth, simmer until tender, then stir in beans, pasta, and tomatoes. The whole process takes about 50 minutes and serves 6 to 8 people.

I rented an apartment with a guy named Leo for two years, and Leo made minestrone every time the weather changed. Not just in winter — in October, when it first got cold. In March, when it got cold again after a brief warm stretch. On Sundays in November that felt like the kind of afternoon that required soup. He made a large pot and it lasted three days and the apartment smelled like garlic and tomato and Parmesan and it was a good apartment to come home to.

His version was not a thin broth with floating vegetables. It was thick and substantial from beans that had broken down slightly, pasta that had absorbed the broth, and a Parmesan rind that had been simmering in the pot since the start. The rind is the thing most people skip because they don't know about it and it makes a noticeable difference — it releases gelatin and flavor into the broth that makes the soup taste richer and more complete without adding any visible ingredient.

The vegetables were seasonal and varied: zucchini and green beans in summer, kale and cannellini beans in winter. The pasta went in for the last ten minutes so it cooked through but didn't turn to mush. The whole pot took forty-five minutes and produced six generous servings. He never measured anything. He said you season minestrone by tasting it, not by following a ratio, and the correct amount of salt is however much it takes before the soup tastes like it could be served to someone.

I moved out eventually. I make this now, in the fall, on Sundays when it feels right. It's not exactly his version. It fills the apartment up the same way.

Prep20 minutes
Cook35 minutes
Total55 minutes
Serves6 to 8 servings
DifficultyEasy

Ingredients

  • 3 tablespoons extra-virgin olive oil
  • 1 medium yellow onion, diced
  • 3 stalks celery, sliced
  • 3 medium carrots, peeled and diced
  • 4 cloves garlic, minced
  • 1 teaspoon kosher salt, plus more to taste
  • 1/2 teaspoon black pepper
  • 1 teaspoon dried Italian seasoning
  • 1/2 teaspoon dried thyme
  • 1/4 teaspoon crushed red pepper flakes (optional)
  • 2 tablespoons tomato paste
  • 1 can (28 oz) crushed tomatoes
  • 4 cups vegetable broth
  • 2 cups water
  • 1 parmesan rind (optional but highly recommended)
  • 1 can (15 oz) cannellini beans, drained and rinsed
  • 1 can (15 oz) kidney beans, drained and rinsed
  • 2 medium zucchini, diced
  • 2 cups chopped green beans, fresh or frozen, cut into 1-inch pieces
  • 3/4 cup small pasta such as ditalini or small elbow macaroni
  • 2 cups baby spinach or roughly chopped kale
  • 1 tablespoon fresh lemon juice
  • Freshly grated parmesan, for serving
  • Fresh basil or flat-leaf parsley, for serving

Instructions

  1. 1Heat the olive oil in a large heavy-bottomed pot or Dutch oven over medium heat. Add the onion, celery, and carrots. Cook, stirring occasionally, for 7 to 8 minutes until softened and the onion is translucent.
  2. 2Add the garlic, salt, pepper, Italian seasoning, thyme, and red pepper flakes if using. Stir and cook for 1 to 2 minutes until the garlic is fragrant. Do not let the garlic brown.
  3. 3Stir in the tomato paste and cook for 2 minutes, stirring constantly, until it darkens slightly and coats the vegetables.
  4. 4Pour in the crushed tomatoes, vegetable broth, and water. Add the parmesan rind if using. Stir to combine and bring to a boil over medium-high heat.
  5. 5Reduce heat to medium-low and add the cannellini beans, kidney beans, zucchini, and green beans. Simmer uncovered for 10 minutes.
  6. 6Add the pasta and stir. Simmer for 8 to 10 minutes, or until the pasta is just al dente. Stir occasionally to prevent the pasta from sticking to the bottom.
  7. 7Remove and discard the parmesan rind. Stir in the spinach or kale and cook for 1 to 2 minutes until wilted.
  8. 8Add the lemon juice, taste, and adjust salt and pepper as needed.
  9. 9Ladle into bowls and top with freshly grated parmesan and fresh basil or parsley. Serve with crusty bread.

Pro Tips

  • Do not skip the tomato paste step. Let it cook and darken for those 2 minutes —? it loses its raw edge and adds a depth to the broth that makes people ask what your secret is. The secret is patience, which you can keep to yourself.
  • The parmesan rind is not decorative information. Drop it in with the broth and it slowly dissolves into the soup, adding a savory, slightly nutty richness you cannot replicate any other way. Save your rinds in a zip-lock bag in the freezer. This is the most useful thing I know.
  • If you plan to have leftovers, cook the pasta separately and add it to individual bowls at serving time. Pasta sitting in soup overnight turns into something structural rather than edible, and nobody wants to eat architecture.

Substitutions

cannellini beans → Great Northern beans or chickpeas Both hold their shape well and have a mild flavor that works in the broth
vegetable broth → chicken broth Use if you're not keeping this vegetarian —? adds a slightly richer base
zucchini → yellow squash, diced butternut squash, or diced potato Potato will take a few extra minutes to cook through; add it earlier with the carrots
baby spinach → chopped kale, Swiss chard, or escarole Kale and chard are heartier and hold up better in leftovers without wilting into nothing
ditalini pasta → small elbow macaroni, small shells, or orzo Keep it small so the pasta doesn't take over the bowl —? this is soup, not a pasta dish that flooded
fresh green beans → frozen cut green beans Frozen works fine here; no need to thaw before adding to the pot

Storage Instructions

Cool completely before storing. Refrigerate in an airtight container for up to 5 days. Freeze without pasta for up to 3 months in freezer-safe containers; add freshly cooked pasta when reheating. Reheat on the stovetop over medium-low heat, adding a splash of broth or water to loosen as needed.

Make Ahead

The soup base —? everything except the pasta and greens —? can be made up to 3 days ahead and refrigerated. Reheat, add the pasta, cook until al dente, then stir in the greens just before serving. The flavor actually improves after a day in the fridge, which is one of the few things in this life that rewards waiting.

Frequently Asked Questions

How do I keep the pasta from getting mushy in minestrone soup?

Cook the pasta only until just al dente —? it will continue softening as the soup sits. Better yet, cook the pasta separately and stir it into individual bowls at serving time. This is especially important if you're making a big batch for the week. Pasta that sits in hot broth overnight is not pasta anymore. It's a decision you'll regret.

Can I make minestrone soup in a slow cooker?

Yes. Sauté the aromatics on the stovetop first, then transfer everything except the pasta and greens to a slow cooker. Cook on low for 6 to 8 hours or high for 3 to 4 hours. About 20 minutes before serving, add the pasta and cook on high until tender, then stir in the greens. Skip the stovetop sauté and the flavor will be noticeably flatter.

Why does my minestrone taste flat or watery?

Three likely culprits: you didn't cook the tomato paste long enough, you skipped the parmesan rind, or you under-seasoned. Taste and add salt incrementally —? soup often needs more than you expect. A splash of lemon juice at the end brightens everything. If the broth still tastes thin, simmer uncovered for an extra 10 minutes to concentrate it.

Can I make minestrone soup ahead of time?

Absolutely, and it's actually better the next day once the flavors have settled in. Make the full soup base up to 3 days ahead and refrigerate it. Store pasta separately and cook it fresh when you reheat. The soup also freezes well for up to 3 months —? just leave the pasta out of the portion you're freezing.

Is minestrone soup vegan or gluten-free?

The soup base is naturally vegan if you use vegetable broth and skip the parmesan rind and topping. For gluten-free, substitute a certified gluten-free pasta or use cooked rice instead —? add the rice at the end since it's already cooked. Check your broth label too, as some contain additives with gluten.

What vegetables can I add or swap in minestrone?

Minestrone is historically a use-what-you-have soup, so there's room to improvise. Good additions include diced potato, corn, peas, chopped cabbage, butternut squash, or bell pepper. Heartier vegetables like potato or winter squash should go in with the carrots. Delicate ones like peas or corn can go in with the pasta during the last 10 minutes.

How many calories are in a serving of homemade minestrone?

This recipe comes in at approximately 280 calories per serving based on 8 servings, with a good amount of plant-based protein from the beans and fiber from the vegetables. Calorie count will vary based on portion size, the amount of pasta you add, and whether you finish the bowl with a generous snowfall of parmesan, which you should.

What's the best pasta shape to use in minestrone soup?

Small shapes work best because they fit on a spoon with the vegetables and beans without taking over the bowl. Ditalini is traditional and the right call if you can find it. Small elbows, small shells, or orzo all work well. Avoid anything large like rigatoni or penne —? you'll feel like you're eating two different meals at the same time.