Heat olive oil in a large pot over medium heat. Cook onion, celery, garlic, and carrots in the hot oil until onion is 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 cornstarch into cold water until smooth. Stir cornstarch mixture and half-and-half into simmering soup. Cook until soup thickens slightly, about 5 minutes. Season to taste with salt and black pepper.