Hearty One-Pot Vegan Minestrone Soup
Loaded with vegetables, beans, and pasta in a rich tomato broth, this vegan minestrone soup is a one-pot meal that comes together in under an hour. It’s hearty enough to stand on its own as a weeknight dinner.

The soup tastes even better the next day, so make a big batch and plan on leftovers for lunch.
What Makes This Minestrone So Good
This soup has a deep, savory flavor that develops quickly from sautéing the vegetables until lightly browned and adding a spoonful of tomato paste for extra richness. You get a satisfying bite from the beans and pasta, while the greens melt right in.
Even though it’s completely plant-based, it never feels thin or missing something. The broth is full-bodied, and the pasta soaks it up as it sits. It fills your kitchen with a warm, slow-cooked smell without spending all day at the stove.
Ingredients

- 2 tbsp olive oil: for sautéing
- 1 medium yellow onion, diced
- 2 carrots, peeled and diced
- 2 celery stalks, diced
- 3 garlic cloves, minced
- 1 medium zucchini, diced: no need to peel
- 1 cup fresh green beans, trimmed and cut into 1-inch pieces: or use frozen
- 2 tbsp tomato paste: adds depth
- 1 can (14.5 oz) diced tomatoes: undrained
- 6 cups vegetable broth: low-sodium preferred
- 1 can (15 oz) cannellini beans, drained and rinsed: or white kidney beans
- 1 tsp dried oregano
- 1 tsp salt: adjust to taste
- ½ tsp black pepper
- 1 bay leaf
- 1 cup small pasta (ditalini or elbows)
- 2 cups packed fresh spinach or chopped kale: stems removed if using kale
- ¼ cup chopped fresh parsley: for serving
Variations / Substitutions
- Swap the beans: chickpeas or kidney beans work just as well.
- Use a different pasta: any small shape like orzo, small shells, or broken spaghetti.
- Change the greens: Swiss chard or escarole are great alternatives.
- Add more vegetables: a handful of corn, peas, or diced potatoes.
- Make it gluten-free: use your favorite gluten-free pasta and cook it separately to avoid mushiness.
If you’re in the mood for a thicker bean soup, try our Tuscan White Bean Soup.
How to Make Vegan Minestrone Soup
Step 1: Sauté the Aromatics

In a large pot or Dutch oven, heat the 2 tablespoons of olive oil over medium heat. Add the diced onion, carrots, and celery with a pinch of salt and cook, stirring occasionally, for about 5 to 7 minutes, until the vegetables soften and the onion turns translucent.
The kitchen should start to smell sweet and savory as the vegetables release their moisture. Stir in the minced garlic and cook for another 30 seconds, just until fragrant.
Step 2: Soften the Vegetables

Add the diced zucchini and green beans to the pot. Cook for 3 to 4 minutes, stirring a few times, until the zucchini begins to soften and the green beans turn bright green.
You’re not trying to brown them heavily, just giving them a head start so they keep a little texture later.
Step 3: Build the Broth

Stir in the 2 tablespoons of tomato paste and let it cook for 1 minute, coating the vegetables. This deepens the tomato flavor. Then pour in the can of diced tomatoes (with their juices), the 6 cups of vegetable broth, the drained cannellini beans, 1 teaspoon of oregano, 1 teaspoon of salt, the ½ teaspoon of black pepper, and the bay leaf.
Bring the soup to a boil, then reduce the heat to a gentle simmer. Partially cover with a lid and cook for 15 minutes. You’ll see the broth turn a rich red-orange and the vegetables become tender.
Step 4: Cook the Pasta

Increase the heat to return the soup to a boil, then stir in the 1 cup of small pasta. Cook according to the package directions, about 8 to 10 minutes, until the pasta is al dente. Stir once or twice to keep it from sticking to the bottom.
Keep an eye on the liquid level. If the soup gets too thick, splash in a little water or broth.
Step 5: Wilt the Greens and Serve

Remove the bay leaf and turn off the heat. Add the 2 cups of spinach (or kale) and stir until it wilts completely into the hot broth, about 1 minute. Taste and adjust salt or pepper.
Ladle the soup into bowls, sprinkle generously with the chopped fresh parsley, and serve right away with crusty bread. The steam rising off each bowl is half the comfort.
A Few Notes for the Best Minestrone
- Use a good-quality vegetable broth, since it’s the base of the soup. A bland broth will make a bland soup.
- Don’t overcook the pasta. It will absorb liquid as it sits, so if you plan on leftovers, slightly undercook the pasta or cook it separately and add to each bowl.
- Add the greens at the very end to keep their color and a little bite.
- The soup will thicken as it cools. When reheating, add a splash of broth or water to loosen it.
Keeping Leftover Minestrone
- Refrigerate: Store in an airtight container for up to 5 days. The pasta will soak up liquid, so the soup will be thicker. Thin with broth when reheating.
- Reheating: Warm gently on the stovetop over medium heat, stirring occasionally, or microwave individual portions.
What to Serve with Minestrone Soup
This soup is a meal on its own, but a slice of toasted sourdough or whole wheat bread is perfect for dunking. A simple arugula salad with lemon vinaigrette cuts through the richness of the tomato broth.
Frequently Asked Questions
Can I freeze this soup?
Yes, but the pasta may get mushy. For best results, freeze the soup without the pasta, then add freshly cooked pasta when reheating. You can freeze it for up to 3 months.
How do I make this in an Instant Pot?
Use the sauté function for the vegetables, then add broth, tomatoes, beans, and seasonings. Pressure cook on high for 4 minutes, quick release, then stir in the pasta and cook on sauté mode until tender. Add greens at the end.
Can I add more protein?
Absolutely. Toss in a cup of cooked lentils or crumbled firm tofu during the simmering step. You could also top each bowl with a spoonful of nutritional yeast for a savory boost.
What if I don’t have green beans?
No problem. Just leave them out or replace with an equal amount of chopped asparagus, peas, or even diced bell pepper. The soup is flexible.
Vegan Minestrone Soup Recipe
Ingredients
Method
- Heat oil in a large pot over medium heat. Sauté onion, carrot, and celery with a pinch of salt for 5 to 7 minutes, until softened. Stir in garlic for 30 seconds.
- Add zucchini and green beans. Cook 3 to 4 minutes, until zucchini starts to soften and beans turn bright green.
- Stir in tomato paste and cook 1 minute. Add tomatoes, broth, beans, oregano, salt, pepper, and bay leaf. Bring to a boil, then simmer partially covered for 15 minutes.
- Return to a boil, add pasta, and cook 8 to 10 minutes until al dente. Stir occasionally.
- Remove bay leaf, turn off heat, and stir in spinach until wilted. Taste, adjust salt, ladle into bowls, and top with parsley.
