Heat olive oil in a large pot over medium heat. Add onion, carrots, and celery. Sauté for 5-7 minutes until vegetables are softened.
Add garlic and cook for 1 minute until fragrant.
Pour in chicken broth, then add thyme, bay leaf, and chicken breasts. Bring to a boil, then reduce heat and simmer for 15 minutes until chicken is cooked through.
Remove chicken from the pot and shred it using two forks. Return shredded chicken to the pot.
Add gnocchi to the soup and cook according to package instructions, usually 3-5 minutes, until they float to the surface.
Stir in heavy cream and chopped spinach. Cook for 2-3 minutes until spinach is wilted and soup is heated through.
Season with salt and pepper to taste. Remove bay leaf before serving.
Serve hot, garnished with grated Parmesan cheese if desired.
Notes
For a lighter version, substitute half-and-half or whole milk for the heavy cream. Leftovers can be stored in an airtight container in the refrigerator for up to 3 days.