Preheat oven to 450 degrees. Divide squash, tomatoes, onions, and garlic between two large rimmed baking sheets. Drizzle with oil, and season with salt and pepper; toss to coat and then spread evenly. Roast (without tossing) until tender and starting to brown, 30 to 40 minutes.
Meanwhile, bring a large pot of water to a boil; add a generous amount of salt. Cook pasta until al dente according to package instructions. Drain, and return to pot.
Add roasted vegetables, butter, parmesan, and basil to pot; season with salt and pepper, and toss gently with pasta to combine. Reheat over medium-low if necessary before serving.