Heat olive oil and melt butter in a dutch oven over medium heat until the butter has melted.
Add onion, carrot, and celery. Cook for about 3 minutes until they start to soften. Add garlic and cook for another 30 seconds.
Pour the chicken stock into the pot. Increase heat to bring it to a boil.
Add the chicken breasts, salt, black pepper, and dried thyme. Reduce heat to a simmer.
Partially cover the pot and let it simmer for 20-25 minutes or until the chicken is cooked through. The chicken is done when the internal temperature reaches 165°F (74°C).
Remove the chicken breasts from the pot, and shred using 2 forks, your hands (when the chicken cools enough to handle with your hands), or with a mixer.
Pour in the heavy cream and add shredded parmesan. Mix well and allow the soup to come back to a simmer.
In a small bowl, mix cornstarch and water and add it to the soup to thicken it. Stir in the shredded chicken.
Add the spinach leaves and let them wilt for 2-3 minutes. Taste the soup and adjust salt or pepper as needed. Serve warm with crusty bread.