Heat 2 tablespoons olive oil in a large pot over medium heat. Add the onion, carrots, and celery and cook for 5 minutes until the vegetables begin to soften.
Stir in the garlic and zucchini and cook for 2 more minutes.
Pour in the diced tomatoes and vegetable broth. Add the cannellini beans and bring the mixture to a simmer.
Add the pasta and cook for 8 to 10 minutes until the pasta is tender.
Stir in the spinach and cook for 1 minute until wilted. Remove the pot from the heat.
While the soup simmers, preheat the oven to 375°F. Toss the bread cubes with 1 tablespoon olive oil, the Parmesan cheese, and the Italian herbs.
Spread the bread on a baking sheet and bake for 10 to 12 minutes until golden and crisp.
Ladle the soup into bowls and top each serving with a handful of Parmesan croutons.