Melt the butter in a large pot over medium heat. Add the diced onions, celery, and carrots and cook until softened, about 5 minutes. Add the garlic and cook for 1 more minute.
Add the flour and stir to combine. Cook for 2 minutes, until the flour begins to turn a golden color.
Add the chicken broth and half and half in splashes, stirring to incorporate. Don’t add it too quickly or you will break the roux. Add the thyme and mustard powder.
If using uncooked chicken see *Notes section. Gentle boil chicken in separate pot using chicken broth, celery, onions and garlic. Boiling the chicken too rapidly will make it tough. Simmer until the chicken is cooked through, about 10 minutes.
Remove the chicken and let it rest for 5 minutes, then dice it and add it to the soup. Let the soup simmer until desired consistency is obtained, it will continue to thicken.
Add the gnocchi and simmer for about 5 minutes, refer to package instructions for exact amount of time.
Reduce heat to low and add the spinach, red pepper flakes, and any salt/pepper to taste. Cover and simmer until spinach is wilted, about 1 minute. Top with freshly grated Parmesan cheese and serve.