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, add it to the broth. Bring it to a gentle boil. (If you boil too rapidly, the chicken will become tough.) Simmer until the chicken is cooked through, about 10 minutes. (This depends on the thickness of the chicken.)
Remove the chicken and let it rest for 5 minutes, then dice it and add it back 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. Simmer until spinach is wilted, about 1 minute. Serve!