
This vegan minestrone soup brings all the heartwarming flavors of Olive Garden's classic right to your kitchen, but with a plant-based twist that doesn't sacrifice any of the rich, savory goodness. The combination of fresh vegetables, beans, and pasta creates that familiar restaurant experience without ever leaving home.
I started making this soup during lockdown when restaurant visits weren't possible, and my family actually prefers this version now. The fire-roasted tomatoes add that special something that takes it beyond a basic vegetable soup.
Ingredients
- Olive oil: creates the perfect base for sautéing vegetables, enhancing their natural flavors through proper browning
- Yellow onion: adds sweetness as it cooks down, forming the foundation of flavor
- Carrots and celery: offer classic mirepoix aromatics that give depth to the broth
- Minced garlic: provides essential pungent notes that bloom when cooked briefly
- Italian seasoning blend: saves time while delivering balanced herb flavors
- Zucchini: adds tenderness and absorbs surrounding flavors beautifully
- Frozen green beans: provide convenience without sacrificing texture or taste
- White and kidney beans: deliver protein and heartiness with different textures
- Fire roasted diced tomatoes: contribute smoky depth impossible with regular tomatoes
- Vegetable juice: intensifies the savory backbone without long simmering
- Vegetable broth: creates the soup base without animal products
- Ditalini pasta: offers the perfect bite size that cooks quickly in the broth
- Bay leaves: infuse subtle complexity during simmering
- Baby spinach: adds color, nutrition and wilts perfectly at the end
- Kosher salt and pepper: balance and enhance all other ingredients
Step-by-Step Instructions
- Build the Aromatic Base:
- Heat olive oil in a large Dutch oven over medium high heat until it shimmers but doesn't smoke. Add diced onion, carrot, celery with salt and pepper and cook for 6-8 minutes until onions become translucent and vegetables start to soften. Stir frequently to prevent any browning or sticking.
- Add Aromatics and Zucchini:
- Add minced garlic, Italian seasoning, and zucchini along with more salt and pepper. Cook for exactly 2 minutes, stirring constantly to prevent garlic from burning while allowing the herbs to bloom and release their essential oils into the oil.
- Combine Main Ingredients:
- Add green beans, both types of beans, diced tomatoes, pasta, vegetable juice, and vegetable broth with additional salt and pepper. Stir thoroughly to combine all ingredients and add bay leaves. The liquid should completely cover all solid ingredients by about an inch.
- Simmer to Perfection:
- Bring the mixture to a simmer over medium high heat, watching for small bubbles around the edges. Cover the pot, reduce heat to low maintaining a gentle simmer, and cook for 5 minutes or until pasta reaches al dente texture. Stir frequently during this time to prevent pasta from sticking to the bottom.
- Finish with Greens:
- Remove from heat and stir in fresh spinach until completely wilted, which takes about 30 seconds. Taste and adjust seasoning with additional salt and pepper as needed. The soup should have a balanced, slightly savory flavor.

The fire-roasted tomatoes are my secret weapon in this recipe. I discovered their impact accidentally when I grabbed the wrong can once, and the depth they added was remarkable. My kids now refuse to eat this soup if I use regular diced tomatoes instead.
Make It Ahead
This soup actually improves with time as the flavors meld together. You can make it up to 3 days in advance and refrigerate in an airtight container. If making ahead, consider cooking the pasta separately and adding it to individual portions when serving to prevent it from absorbing too much liquid and becoming mushy.
Simple Swaps
This recipe welcomes substitutions based on what you have available. Yellow squash works perfectly in place of zucchini. Any small pasta shape can replace the Ditalini. For the beans, feel free to use whatever varieties you have on hand, such as chickpeas or pinto beans. If you prefer a tomato-forward broth, use tomato juice instead of vegetable juice.
Serving Suggestions
Serve this hearty soup with a side of crusty bread or homemade garlic knots for the full Olive Garden experience. A simple side salad with Italian dressing completes the meal. For a dinner party, set up a toppings bar with vegan Parmesan, fresh herbs, red pepper flakes, and extra virgin olive oil for drizzling.

Frequently Asked Questions
- → Can I use different beans in this minestrone soup?
Yes! While the recipe calls for white beans and kidney beans, you can substitute with cannellini, navy, pinto, or chickpeas. Any bean combination works well as long as you maintain the same total quantity.
- → How do I store leftover minestrone soup?
Store cooled soup in an airtight container in the refrigerator for up to 5 days. The pasta may absorb more liquid as it sits, so you might need to add a splash of vegetable broth when reheating. You can also freeze portions for up to 3 months.
- → Can I make this minestrone soup ahead of time?
Absolutely! This soup actually tastes better the next day as flavors meld together. If making ahead, consider cooking the pasta separately and adding it only when serving to prevent it from becoming too soft.
- → What can I substitute for V8 or vegetable juice?
If you don't have vegetable juice, you can substitute with additional vegetable broth plus 2 tablespoons of tomato paste. For a fresher alternative, blend 2 cups of diced tomatoes with 2 cups of vegetable broth.
- → Is there a gluten-free option for this soup?
Yes, simply substitute the Ditalini pasta with your favorite gluten-free pasta. Rice pasta, chickpea pasta, or lentil pasta all work well. Just adjust cooking time according to package instructions, as gluten-free varieties may cook faster.
- → Can I make this soup in a slow cooker?
Definitely! Sauté the onions, carrots, celery, and garlic as directed, then transfer to a slow cooker with all other ingredients except pasta and spinach. Cook on low for 6-8 hours, add the pasta for the last 30 minutes, and stir in spinach just before serving.