Heat the olive oil in a large soup pot over medium heat. Add the diced onion, minced garlic, carrots, and celery. Cook for about 5-7 minutes, stirring occasionally, until the vegetables are softened and the onion is translucent. This step builds the foundational flavor of your soup.
Stir in the zucchini, green beans, dried oregano, basil, thyme, and bay leaf. Cook for another 3 minutes, allowing the herbs to release their fragrance and the vegetables to start softening.
Pour in the canned diced tomatoes with their juices and the vegetable broth. Stir everything together, scraping the bottom of the pot to lift any browned bits. Bring the soup to a boil, then reduce heat to a simmer.
Let the soup simmer gently for 20 minutes, uncovered. This slow cooking allows the flavors to meld beautifully. During this time, season with salt and pepper to taste. If you want a thicker soup, simmer a bit longer.
Stir in the rinsed cannellini beans and pasta (if using). Continue to simmer for 10 more minutes or until the pasta is tender but still firm. If you prefer grains like rice or quinoa, add them at this point if precooked, or adjust cooking time accordingly.
Remove the bay leaf. Taste and adjust seasoning as needed. Ladle the soup into bowls and garnish with freshly chopped parsley or basil. Sprinkle with grated Parmesan cheese if desired. Serve warm with crusty bread for a complete meal.