In a large skillet, heat the olive oil over medium heat. Add the onion and cook, stirring occasionally until onion is soft. Add the garlic and red pepper flakes and cook for 3 minutes. Stir in the puréed tomatoes and season with salt.
Cook the sauce until it starts to thicken, stirring occasionally. This will take about 20 minutes. When the sauce has thickened, stir in the fresh basil.
Bring a large pot of salted water to a boil. Cook the pasta until soft. Reserve 1/2 cup of the pasta water and then drain the pasta.
Place the pasta back in the large pot, add the tomato sauce and hot pasta water. Stir until the sauce coats the pasta. Add butter and Parmesan cheese and toss until butter and cheese are melted. Plate the pasta and garnish with basil and Parmesan cheese, if desired.