Preheat the oven to 350 degrees.
Shred the chicken removing all skin and bones. Set aside.
In a large pan melt 2 tbsp of the butter and add the onion, garlic and spinach.
Cook until the spinach starts to wilt and then transfer all the pan contents to a plate.
In the same pan melt the other 2 tbsp butter and add the flour.
Whisk until well combined and the mixture starts to turn a light golden color.
On a medium high heat, start to gradually add the milk whisking well after each addition to a smooth paste.
Once the milk has been added, add the wine, chicken stock, salt, black pepper and Parmesan and whisk.
Return the spinach mixture to the cheese sauce and stir.
Transfer the whole pan to a 13 x 9-inch baking dish.
Add the shredded chicken and mix well.
Add the cooked pasta and toss with tongs to coat the spaghetti.
Bake at 350 degrees in the oven for 25 minutes covered with foil.
Take the foil cover off and sprinkle with more Parmesan cheese. Bake for another 10 minutes. Season again with salt and pepper.