Cook pasta according to package instructions, and drain.
In a large pan or skillet, heat olive oil over medium heat. Add onion and garlic. Saute for 3 minutes, or until fragrant. Add mushrooms and saute for additional 3 minutes.
Add butter. Once butter is melted, stir in flour. Stir until mixed and you see no lumps. Stir in basil.
Add chicken broth. When the broth comes to a simmer, add heavy cream, marsala wine, a few pinches of salt and pepper . Reduce heat to medium low and simmer for 10 minutes, stirring occasionally. Ensure heat is not too high, or sauce will boil over.
In another skillet, heat about 2 tbsp of vegetable oil over medium-high heat. Add chicken in batches and cook for 5 minutes on each side.
Add parmesan cheese to sauce, and stir. Simmer for additional 2 minutes.
Stir in cooked pasta and chicken. Top with additional parmesan cheese if you like and serve!