Heat olive oil in a large pot over medium heat. Sauté onions, celery, carrots, and garlic until onions are translucent, about 5 minutes. Stir in cubed chicken and chicken broth; bring to a simmer.
Stir gnocchi into the simmering soup and cook until they begin to float, 3 to 4 minutes. Stir in spinach; cook until wilted, about 3 additional minutes.
Whisk together cornstarch and cold water until smooth. Stir cornstarch mixture and half-and-half into simmering soup. Cook until soup thickens slightly, about 5 minutes. Season with salt and black pepper to taste.