Put the butternut squash on a baking sheet, toss with the olive oil and season heavily with salt and pepper. Roast until very tender, about 30 minutes. Reserve.
Bring a large pot of salted water to a boil. Cook the spaghetti according to the package instructions.
Meanwhile, melt the butter in a saucepan over medium-low heat. Add the garlic and cook until fragrant, about 5 minutes. Add the sage and cook until crisp, about 2 minutes. Add the roasted butternut squash and hazelnuts and toss to combine.
Drain the pasta, add it to the saucepan and mix well to evenly incorporate all the ingredients. Season with salt and pepper. Sprinkle with Parmesan and serve.