Bring a large pot of salted water to a boil over high; add spaghetti, and cook until al dente according to package directions. Drain, reserving 1 cup cooking water; set aside.
While spaghetti cooks, melt butter in a large high-sided skillet over medium. Add garlic, and cook, stirring often, until just beginning to brown, about 1 minute. Using a slotted spoon, transfer garlic to a small bowl. Add tomatoes to skillet; reduce heat to low, and cook, stirring occasionally, until tomatoes are softened and beginning to burst, about 20 minutes. (Add 1 tablespoon olive oil to skillet if mixture begins to look dry.) Stir reserved browned garlic slices into tomatoes; season with salt to taste. Remove from heat.
Transfer cooked spaghetti to skillet; toss to coat with sauce, adding reserved cooking water, ¼ cup at a time, as needed to create a silky sauce. Sprinkle with basil, and serve with grated Parmesan cheese and crushed red pepper.
