Heat oil in a large pot over medium heat. Cook carrots, celery, onion, and garlic in hot oil until onion is translucent, about 5 minutes. Stir in cubed chicken and chicken broth; bring to a simmer.
Stir gnocchi into soup and cook until they begin to float, 3 to 4 minutes. Stir in spinach and cook until wilted, about 3 minutes.
Whisk cornstarch into cold water in a measuring cup until smooth. Stir the cornstarch mixture and half-and-half into soup. Cook until soup thickens slightly, about 5 minutes. Season with salt and pepper.