In a small bowl mash half of the beans with a masher or the back of a spoon, and set aside.
Heat the oil in a large soup pot over medium-high heat. Add the onion, carrots, celery, zucchini, garlic, thyme, sage, 1/2 teaspoon of salt and 1/4 teaspoon of pepper, and cook stirring occasionally until the vegetables are tender, about 5 minutes.
Add the broth and tomatoes with the juice and bring to a boil. Add the mashed and whole beans and the spinach leaves and cook until the spinach is wilted, about 3 minutes more.
Serve topped with Parmesan, if desired.