Prep & preheat: Heat oven to 350°F (175°C). Grease a 9×13-inch baking dish.
Cook pasta: Boil pasta in well-salted water until just shy of al dente (about 1 minute less than package). Drain; toss with a little oil to prevent sticking.
Sauté aromatics: In a large skillet over medium heat, melt 2 Tbsp butter. Cook onion 3–4 min until translucent; add garlic and cook 30 sec.
Brown mushrooms: Add mushrooms + a pinch of salt; cook 5–6 min until they release moisture and edges turn golden.
Make roux: Push veg to the sides; melt remaining 3 Tbsp butter in center. Sprinkle in flour and whisk 1–2 min until foamy (no raw flour smell).
Build sauce: Slowly whisk in chicken broth until smooth, then cream. Simmer 2–3 min to thicken to spoon-coating consistency.
Season & cheese: Stir in Italian seasoning, salt, pepper, nutmeg (if using). Off heat, fold in ½ cup mozzarella and ½ cup Parmesan until just melted.
Combine: Stir in chicken and the cooked pasta. If mixture looks tight, add 2–4 Tbsp milk or broth—sauce should be slightly loose (it thickens in the oven).
Assemble: Transfer to prepared dish. Top with remaining ½ cup mozzarella and ¼ cup Parmesan.
Optional topping: Mix breadcrumbs with melted butter and a pinch of Italian seasoning; scatter over the top.
Bake: Bake 25–30 min until bubbling and lightly golden. Broil 1–2 min for extra color, watching closely.
Rest & serve: Let stand 5 min. Garnish with parsley and serve warm.