When the air starts to turn crisp and leaves begin to change, there’s nothing more comforting than a bowl of homemade minestrone soup.
It’s hearty but not heavy—a colorful mix of tender vegetables, beans, and pasta swimming in a flavorful tomato broth.
This vegan version skips the cheese and meat but doesn’t lose any richness. Thanks to the vegetables, herbs, and a slow simmer, every spoonful is earthy, savory, and deeply satisfying.
What Vegetables to Use

There’s no strict rule when it comes to minestrone; that’s the beauty of it. The soup was originally a “clean-out-the-fridge” kind of meal, built around whatever vegetables were in season.
In the fall, you might use carrots, celery, zucchini, potatoes, green beans, and kale or spinach. When winter rolls around, swap in cabbage, butternut squash, or even sweet potatoes.
You can mix and match freely based on what you have on hand. The key is variety; a mix of textures and colors keeps the soup hearty and balanced.
The vegetables cook at different rates, so add the firmer ones (like carrots and potatoes) first, and softer ones (like zucchini or spinach) near the end.
Tips for Cooking and Prepping
Build Flavor from the Base
Start with onions, garlic, and celery sautéed in olive oil. This creates the foundation for all the flavors to come. Let them soften slowly so they develop sweetness rather than browning too fast.

Layer the Ingredients
Add the harder vegetables first and give them time to soften before adding beans, tomatoes, or broth. The goal is to cook everything evenly without turning it to mush.
Don’t Overcook the Pasta
Minestrone is at its best when the pasta is tender but still has a slight bite. Add it toward the end of cooking, and if you’re storing leftovers, cook it separately and stir it in just before serving to avoid sogginess.
Season Generously
Herbs like thyme, basil, oregano, and bay leaf bring the broth to life. Salt gradually as the soup cooks. This enhances flavor without overpowering it.
Recipe Variations and Substitutes
This vegan soup is endlessly adaptable. You can make it gluten-free, higher in protein, or even heartier, depending on your needs.
For a gluten-free version, simply use rice or gluten-free pasta, or skip the pasta entirely and add extra beans or quinoa. Cannellini beans are traditional, but chickpeas or kidney beans work just as well.
If you’d like a richer flavor, add a spoonful of tomato paste or a splash of balsamic vinegar near the end of cooking. To boost the nutrition, stir in chopped spinach, kale, or Swiss chard right before serving.
And if you miss that umami edge that Parmesan usually gives, a sprinkle of nutritional yeast adds that same savory depth — all while keeping the dish 100% vegan.
Serving Suggestions
A warm bowl of minestrone soup pairs beautifully with crusty bread or garlic toast for dipping. It’s also delicious with a side of roasted vegetables or a crisp green salad if you want to keep things light.

For a cozy dinner, serve it family-style straight from the pot with a drizzle of olive oil and a sprinkle of fresh herbs on top. A pinch of chili flakes can add a little heat if you like your soups on the spicier side.
How to Store Minestrone Soup
Minestrone keeps and reheats beautifully, which makes it ideal for meal prep.
Once cooled, store the soup in airtight containers in the refrigerator for up to five days. If you’ve added pasta, it will absorb liquid over time, so you may need to stir in a bit of broth or water when reheating.
For longer storage, freeze the soup without the pasta. It stays fresh for up to three months. Thaw it overnight in the fridge and reheat gently on the stove.
Add freshly cooked pasta right before serving for the best texture.
Frequently Asked Questions
Can I use canned vegetables instead of fresh?
Yes, you can, especially for tomatoes and beans. Just rinse the beans before adding to reduce sodium. Fresh vegetables give better texture, but canned ones make prep quicker.
Can I make this soup without pasta?
Absolutely. You can skip the pasta and double the beans, or add grains like quinoa, farro, or rice instead. It stays just as hearty and filling.
Can I make minestrone ahead of time?
Definitely. In fact, it tastes even better after resting overnight — the flavors deepen beautifully. Store it in the fridge and reheat gently before serving.
Can I use vegetable broth instead of water?
Yes, vegetable broth adds more depth and savoriness to the soup. If you use low-sodium broth, you can control the seasoning more easily.
Can I blend the soup to make it creamy?
You can, though traditional minestrone is chunky. If you prefer a creamier texture, blend a cup of the soup and stir it back in for a thicker consistency without losing the hearty feel.
Vegan Minestrone Soup

Image credit: @familystylefood
Ingredients
For the Vegetable Base
- 2 tablespoons olive oil
- 1 small onion, chopped
- 2 carrots, peeled and diced
- 2 celery stalks, chopped
- 3 cloves garlic, minced
- 1 zucchini, diced
- 1 medium potato, peeled and cubed
For the Broth and Seasoning
- 1 can (14 oz / 400 g) diced tomatoes
- 4 cups vegetable broth
- 1 can (14 oz / 400 g) cannellini beans, drained and rinsed
- 1 teaspoon dried oregano
- 1 teaspoon dried basil
- 1/2 teaspoon thyme
- 1 bay leaf
- Salt and black pepper, to taste
For the Finishing Touches
- 1/2 cup small pasta (elbows, ditalini, or shells)
- 2 cups chopped kale or spinach
Instructions
- Sauté the base. Heat olive oil in a large pot over medium heat. Add onion, carrots, and celery. Cook until softened, about 5 minutes.
- Add aromatics and vegetables. Stir in garlic, zucchini, and potatoes. Cook for another few minutes until fragrant.
- Simmer the broth. Add tomatoes, beans, broth, and herbs. Bring to a boil, then reduce to a gentle simmer for 20–25 minutes until the vegetables are tender.
- Add pasta and greens. Stir in pasta and kale or spinach. Cook until the pasta is al dente and the greens are wilted, about 8–10 minutes.
- Finish and serve. Adjust seasoning with salt and pepper. Remove the bay leaf, drizzle with olive oil, and serve hot with bread.
Featured image credit: @thecozycook