Heat olive oil in a large pot over medium heat and cook the chopped onion until it becomes soft and aromatic, about 5 minutes.
Add the chopped carrots and celery, cooking them together with the onion for an additional 3 minutes.
Mix in the butter and sprinkle the flour over the vegetables, stirring continuously and cooking for about 1 minute to create a roux.
Introduce the chicken pieces, garlic, Italian seasoning, paprika, thyme, chili flakes, salt, and pepper into the pot, coating everything evenly with the spices.
Pour in 4 cups of vegetable broth and let the mixture simmer on medium heat for 20 minutes until the chicken is thoroughly cooked.
Remove the chicken from the pot, shred it finely using two forks, then return the shredded chicken back into the soup.
Stir in the baby spinach, sun-dried tomatoes, your choice of cream or milk, grated parmesan, and fresh gnocchi, cooking until everything is heated through, about 5 minutes.
If the soup is too thick for your liking, add more broth until you reach the desired consistency.
Serve the soup warm with an extra sprinkle of parmesan on top, ideally accompanied by some crusty bread for dipping.