Preheat the Oven: Preheat your oven to 400°F (200°C).
Toss the Squash: In a large bowl, combine the diced butternut squash with olive oil, salt, pepper, and thyme (if using). Toss until the squash is evenly coated.
Roast: Spread the squash on a baking sheet in a single layer. Roast for 25-30 minutes, or until tender and caramelized, stirring halfway through.
Prepare the Roux: In a large saucepan, melt the butter over medium heat. Whisk in the flour, cooking for about 1 minute until lightly golden.
Add Milk: Gradually whisk in the milk, stirring constantly until the mixture thickens and is smooth, about 3-5 minutes.
Stir in the Cheeses: Remove from heat and stir in the cheddar cheese and Parmesan cheese until melted and creamy. Season with salt, pepper, and nutmeg (if using).
Combine Ingredients: In a large mixing bowl, combine the cooked pasta, roasted butternut squash, and cheese sauce. If the mixture seems too thick, add some reserved pasta water to achieve the desired consistency.
Serve: Spoon the pasta into bowls and garnish with extra cheese, herbs, or a sprinkle of pepper.