In a small saucepan, cook the garlic in the olive oil for 30 minutes on low heat. Stir occasionally to keep the garlic from drying out. In a medium saucepan, add the butter and tomatoes, and stir until well blended and the butter is melted. Stir in the garlic oil and season with salt and pepper. Allow the flavors to meld for 10 minutes. Toss with the spaghetti and serve garnished with basil and Parmesan.