Heat olive oil in a large pot over medium heat.
Add onion, carrots, and celery. Cook until softened, about 5-7 minutes.
Add garlic and cook for another minute.
Stir in diced tomatoes, cannellini beans, vegetable broth, green beans, zucchini, oregano, basil, salt, and pepper. Bring to a boil.
Reduce heat and let simmer for 20 minutes.
Add pasta and cook until tender, about 10 minutes.
Stir in baby spinach until wilted.
Serve hot.