In a large pot over medium heat, add the onion, carrot and celery. Cook until softened, about 5 minutes. Add the garlic, zucchini and ham and continue to cook for another 2 minutes, until the garlic is fragrant.
Begin to slowly add the tomatoes by crushing them one at a time slightly in your hand over the stock pot, making sure not to splatter outside. This will begin to release the juices of the tomato. Continue stirring and cooking until the ingredients have combined.
Add in the beans and vegetable stock; allow the soup to cook until heated through. Top with parmesan and serve with fresh bread.