01 - Preheat oven to 400°F. Line a rimmed baking sheet with parchment paper and set aside.
02 - Using a sharp knife, carefully halve the spaghetti squash lengthwise. Scoop out and discard the seeds and stringy fibers from the center. Lightly brush the cut surfaces with olive oil if desired.
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 for 1 minute to form a roux. Slowly pour in the milk while whisking constantly until smooth. Bring to a gentle simmer and continue stirring until the sauce thickens, about 2 to 3 minutes.
05 - Remove the saucepan from heat. Add the shredded cheddar, grated Parmesan, garlic powder, ground mustard, salt, and black pepper. Stir until all the cheese has melted and the sauce is completely smooth.
06 - 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 gently fold in the cheese sauce until evenly coated throughout.
07 - Transfer the sauced squash mixture to a lightly greased baking dish. In a small bowl, combine the gluten-free panko, Parmesan, and melted butter. Sprinkle the topping evenly over the surface. Broil on high for 2 to 3 minutes until the topping is golden brown and crispy.
08 - Serve warm, garnished with additional Parmesan or fresh herbs if desired.