01 - Preheat oven to 400°F. Lightly grease a 9 x 13 in baking dish.
02 - Toss squash cubes with olive oil, salt, and pepper. Spread on a baking sheet and roast for 20 minutes, stirring halfway, until tender and lightly golden.
03 - Boil pasta in a large pot of salted water for 2 minutes less than package directions. Drain and set aside.
04 - In a large saucepan over medium heat, melt butter. Add onion and cook for 3-4 minutes until softened. Add garlic and cook 1 minute.
05 - Stir in flour and cook 1 minute. Gradually whisk in milk and cream, stirring constantly until thickened, about 4-5 minutes.
06 - Remove from heat and blend in Parmesan, salt, pepper, and nutmeg until smooth and creamy.
07 - In a large bowl, mix cooked pasta, roasted squash, and Alfredo sauce. Toss gently to coat.
08 - Transfer mixture to greased baking dish. Sprinkle mozzarella and additional Parmesan evenly across top.
09 - Bake for 20 minutes until cheese is golden and bubbling. Rest for 5 minutes before serving. Garnish with parsley if desired.