In a large skillet, add some butter and olive oil. Saute the onions until they became soft and slightly translucent. Add the minced garlic, stir for about 30 seconds then add the mushrooms. Once the mushrooms have softened a little, add the white wine (or stock) and continue cooking the mushrooms until almost all the water has evaporated. Set this aside.
Bring the broth back to boil and cook the broken spaghetti for 10 minutes (3 minutes less than the time stated on the pack). Once cooked, drain the spaghetti (reserve the stock) and set it aside.
Now for the fun part. In a large skillet, add the butter. Once the butter has melted, add the flour. With a hand whisk, whisk the flour to allow the flour to cook through. Then add the stock, then the milk, whisking all the while. Then add the wine (or stock), and salt and pepper to taste.
Leave the sauce to cook and thicken. Turn off the heat and add the cheese. Stir continuously until all the cheese has melted. Then add the mushrooms and chicken to the sauce and mix. Then add the spaghetti. Mix well.
Transfer the spaghetti and sauce to a 9×13-inch casserole dish. Sprinkle additional Parmesan cheese on top. Bake at 180°C for about 30 minutes, or until the top has turned a delicious shade of golden brown.
Scatter some chopped parsley on the spaghetti casserole if desired. Serve it with a salad or warm crusty chunks of garlic bread. Or just enjoy a as it is.