Warm the olive oil in a large soup pot over medium heat and soften the onion for about 5 minutes until fragrant. Add the carrots and celery, cooking together for an additional 3 minutes to bring out their flavors.
Melt the salted butter in the pot and stir in the all-purpose flour, cooking for 1 minute to form a light roux. Add the chicken pieces, garlic, Italian seasoning, paprika, thyme, chili flakes, salt, and pepper, tossing everything so the chicken is well coated with spices.
Pour in 4 cups of vegetable broth and bring the soup to a gentle simmer on medium heat. Let it cook for 20 minutes, allowing the chicken to become fully cooked and tender.
Remove the chicken from the pot and shred it using two forks, then return the shredded chicken to the soup. Stir in the baby spinach, sun-dried tomatoes, your choice of coconut milk, cream, or whole milk, grated parmesan, and fresh potato gnocchi. Warm the soup for about 5 minutes until everything is heated through and the gnocchi is tender.
If the soup seems overly thick, add more vegetable broth to reach your desired consistency. Serve hot, sprinkled with extra parmesan on top, and enjoy with a crusty bread for a cozy meal.