Preheat oven to 400°F.
Brush the squash with oil and season with salt and pepper. Place cut side down on a baking pan and roast 45 minutes or until tender.
While the squash is roasting, cook pasta al dente (firm) according to package directions. Drain well.
Once squash is done, use a spoon to scoop out the flesh of the squash and mash until smooth. Set aside.
Melt butter over medium heat in a large saucepan. Add onion and cook until tender.
Whisk in flour and let cook 2 minutes while stirring. Add milk a little bit at a time stirring until smooth after each addition.
Add cream, broth, mustard powder, & cayenne. Continue stirring until the sauce comes to a boil. Reduce heat to a simmer and cook 2 minutes.
Remove the sauce from the stove and stir in cheeses until melted. Taste and generously season the sauce with salt & pepper.
Combine cheese sauce, mashed butternut squash and pasta. Spread into a greased 9×13 pan.
Combine topping ingredients and sprinkle overtop.
Bake 15-20 minutes or until bubbly and the top is browned. Do not over cook. Cool 10-15 minutes before serving.
