Preheat oven to 450 degrees Fahrenheit. Divide squash, tomatoes, onions and garlic between two large baking sheets. Drizzle with oil and season with salt and pepper. Toss to coat. Roast until tender and starting to brown, 30 to 40 minutes.
Meanwhile, cook pasta until al dente, according to package instructions. Drain and return to pot.
Add vegetables, butter, Parmesan, and basil to pasta. Toss gently to combine.