Heat the olive oil in a large pot over medium heat.
Add the chopped onion, minced garlic, diced carrots, and diced celery. Cook until the vegetables are softened, about 5-7 minutes.
Stir in the diced zucchini and green beans, and cook for another 5 minutes.
Add the diced tomatoes (with their juice), vegetable or chicken broth, cannellini beans, dried oregano, dried basil, and bay leaf.
Bring the mixture to a boil, then reduce the heat and let it simmer for about 20 minutes, until the vegetables are tender.
Add the small pasta to the pot and cook according to the package instructions until al dente, usually about 10 minutes.
If using fresh spinach or kale, stir it into the soup during the last few minutes of cooking until wilted.
Remove the bay leaf.
Season the soup with salt and pepper to taste.
Ladle the Minestrone into bowls.
Garnish with freshly chopped parsley and grated Parmesan cheese.
Enjoy your meal!