In a large dutch oven or stock pot, melt the butter and olive oil over medium-low heat. Add the chopped carrots, celery, and onion. Sauté until the vegetables are tender, about 10-15 minutes. Season with salt and pepper to taste. Add the minced garlic and cook until fragrant, about 2-3 minutes.
Stir in the flour until it begins to dissolve. Gradually pour in the chicken broth while stirring continuously. Add the half and half, then stir in the shredded chicken. Let the mixture cook for 15 minutes.
Add the uncooked gnocchi to the pot, mix, and cook for another 10 minutes. Stir in the spinach and basil until combined. Cover the pot with a lid and remove from heat.
Ladle the soup into bowls and top with parmesan cheese if desired. Enjoy!