In a large saucepan or stockpot, add the olive oil and saute the diced onion, chopped carrots and chopped zucchini with the minced garlic.
Once the onions have become translucent, add the ham or bacon and saute another few minutes, stirring often.
Stir in the beans and the stock and bring to bubbling.
Once bubbling, stir in the baby spinach, basil, thyme and salt and pepper. Let simmer for 5 to 10 minutes, or until ready to serve.
Warm and slice the bread.
Serve Tuscan Bean Soup with Parmesan garnish and slice of fresh bread.