Melt butter and olive oil in a large Dutch oven over medium-high heat.
Add the diced onion and celery and cook until soft, stirring often, for about 5 minutes.
Add minced garlic and red pepper flakes and cook until fragrant, about 1 minute.
Sprinkle in the flour and cook, stirring for a couple minutes to cook off the raw flour taste.
Turn heat to low and stir in the chicken broth.
Whisk cornstarch with milk and add it to the pot.
Add the Dijon mustard, chicken bouillon, dried parsley, bay leaf, thyme, garlic powder, oregano, salt and pepper.
Increase heat to medium high, cover pot and bring to a good simmer.
Reduce heat and maintain a gentle simmer. Keep covered and simmer for 20-25 minutes, stirring occasionally.
Stir in gnocchi and shredded carrots and simmer for 3 to 4 minutes until the gnocchi are cooked. Gnocchi will float to the top when they are fully cooked.
Add heavy cream to the pot and bring to a simmer.
Fish out bay leaf and discard before adding spinach.
Stir in spinach and shredded chicken and cook until heated through and spinach has cooked down.
Taste and season with additional salt and pepper if needed.
Add additional milk for a less “chunky” soup and warm through.
To serve, garnish each bowl with some freshly grated Parmesan cheese if desired.