Preheat oven to 400°F. Add the squash cubes to a medium bowl and add the two tablespoons of oil, salt, and pepper. Toss to combine. Spread on a baking sheet. Roast for 20 to 25 minutes, stirring halfway, until tender and lightly caramelized. Cool slightly.
Cook pasta in a large pot of salted water according to package directions until just past al dente. Drain, rinse under cool water, and place in a large bowl.
In a small bowl, whisk together olive oil, apple cider vinegar, maple syrup, Dijon, salt, and pepper until smooth.
Add the roasted squash, cranberries, toasted pecans, red onion, spinach, and cheese to the pasta bowl. Add the dressing and toss gently to combine.
Serve immediately at room temperature, or cover and refrigerate for up to 4 hours to let the flavors mingle.
Notes
Toast the pecans: In a dry skillet over medium heat, toast the pecans for 3 to 4 minutes, stirring often, until fragrant. Remove from the heat and let cool.
Make ahead: Cover and refrigerate for up to 4 hours to let the flavors mingle.
Leftovers: Best eaten the day it’s made, but leftovers keep in the fridge for up to 3 days. The pasta absorbs the dressing as it sits, so make extra dressing, store it in a mason jar, and drizzle it on the next day.
Freezing: I don’t recommend freezing this salad.
Swaps: Use roasted sweet potato or acorn squash instead of butternut squash. Use walnuts, pumpkin seeds, or candied pecans instead of pecans. Add cooked chicken or chickpeas for extra protein.