Preheat oven to 350°F. Cook spaghetti al dente according to package directions.
In a large skillet, melt butter over medium heat. Add onions and garlic, cooking until softened. Add mushrooms and cook for 3 more minutes. Stir in flour and cook for 1 minute.
Add broth and half-and-half to the skillet. Cook until thick and bubbly, about 5 minutes. Stir in cream cheese until melted. Add parsley, Italian seasoning, salt, and pepper.
Combine cooked spaghetti, turkey, 1 cup of mozzarella cheese, and the sauce in a greased 9x13-inch pan. Top with remaining mozzarella and Parmesan cheese.
Cover and bake for 20 minutes. Uncover and bake for an additional 10-15 minutes until hot and bubbly. Garnish with fresh parsley.