01 - Preheat the 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 membranes. Place the halves cut side down on the prepared baking sheet. Roast for 35 to 40 minutes, until the flesh is fork-tender and shreds easily into strands.
03 - While the squash roasts, melt the butter in a medium saucepan over medium heat. Sprinkle in the flour and whisk continuously for about 1 minute to form a smooth roux and cook off the raw flour taste.
04 - Gradually pour in the whole milk, whisking constantly to prevent lumps from forming. Stir in the Dijon mustard, garlic powder, onion powder, salt, and black pepper. Continue cooking, stirring frequently, until the sauce thickens enough to coat the back of a spoon, about 3 to 4 minutes.
05 - Remove the saucepan from the heat. Add the shredded cheddar and Gruyère cheeses, stirring until fully melted and the sauce is silky smooth.
06 - Once the squash is cool enough to handle, use a fork to rake the flesh into long spaghetti-like strands, working from edge to center. Discard the empty skins.
07 - Add the shredded squash strands directly into the cheese sauce, tossing gently until every strand is evenly coated. Transfer the mixture to a lightly greased 9×13-inch baking dish, spreading it into an even layer.
08 - In a small bowl, combine the gluten-free breadcrumbs, grated Parmesan, and melted butter. Mix until the crumbs are evenly moistened, then sprinkle the mixture uniformly over the squash casserole.
09 - Bake at 400°F for 10 minutes, or until the topping is golden brown and the edges are bubbling. Let rest for 5 minutes before serving.
10 - Scatter chopped fresh parsley over the top and serve hot directly from the baking dish.