Chop the onion, carrots, and celery. Shred or dice the cooked chicken.
Warm the olive oil and butter in a large pot over medium heat.
Sauté onion, carrots, and celery until softened, about 5–6 minutes.
Stir in garlic, thyme, Italian seasoning, and red pepper flakes. Cook 30 seconds until fragrant.
Sprinkle in the flour and cook, stirring, for 1 minute to remove raw taste.
Gradually whisk in the chicken broth, scraping up any browned bits. Bring to a gentle simmer.
Add chicken, salt, and pepper. Simmer 3–4 minutes to warm through.
Stir in gnocchi and cook until they float and turn tender, 3–4 minutes.
Lower heat. Add half-and-half and Parmesan. Stir gently until slightly thickened, 2–3 minutes. Do not boil.
Fold in spinach to wilt. Adjust salt and pepper; add lemon juice if using.
Finish with parsley and ladle into bowls. Serve hot with extra Parmesan.