01 - Preheat oven to 400°F. Line a rimmed baking sheet with parchment paper.
02 - Using a sharp knife, carefully halve the spaghetti squash lengthwise. Scoop out and discard the seeds and stringy membrane from the center.
03 - Place the squash halves cut-side down on the prepared baking sheet. Roast for 35 to 40 minutes until the flesh is fork-tender and the strands separate easily when pulled with a fork.
04 - While the squash roasts, melt the butter in a medium saucepan over medium heat. Whisk in the flour and cook, stirring constantly, for 1 minute to form a smooth roux.
05 - Slowly pour in the milk while whisking continuously to prevent lumps. Bring to a gentle simmer and cook, stirring constantly, for 2 to 3 minutes until the sauce thickens enough to coat the back of a spoon.
06 - Remove the saucepan from heat. Add the cheddar cheese, Parmesan cheese, garlic powder, ground mustard, salt, and black pepper. Stir until all the cheese has melted and the sauce is smooth and creamy.
07 - Once the squash is cool enough to handle, use a fork to scrape the flesh into spaghetti-like strands. Transfer the strands to a large bowl and pour the cheese sauce over top. Gently toss until the strands are evenly coated.
08 - Transfer the coated squash mixture to a greased baking dish. In a small bowl, combine the panko breadcrumbs, Parmesan cheese, and melted butter. Sprinkle the topping evenly over the squash. Broil on high for 2 to 3 minutes until the topping is golden brown and crispy.
09 - Serve warm, garnished with additional Parmesan cheese or fresh herbs if desired.