Heat oil in a large pot over medium; sauté onion, carrots, and celery 7-8 minutes until starting to soften.
Add garlic; cook 1 minute until fragrant, stirring constantly to prevent burning.
Add zucchini and green beans; cook another 3 minutes.
Add tomatoes with juice, broth, Italian seasoning, and bay leaf; bring to a boil.
Reduce heat to medium-low; add both canned beans and simmer 15 minutes.
Cook pasta according to package, usually 8-10 minutes, stirring occasionally.
Stir in spinach during last 2 minutes to wilt; discard bay leaf.
Season with salt and pepper; serve hot with a generous sprinkle of Parmesan, fresh basil, and crusty Italian bread.