Heat ¼ cup olive oil in a large sauce pot over medium heat. Add the onion, cooking for 5-7 minutes or until translucent. Toss in the garlic and cook for another 2 minutes.
Add the tomatoes and season with salt. Bring to simmer and cook for 20 minutes or until sauce has thickened. Add in the fresh basil. Blend with an immersion blender to make a smooth sauce.
Cook the bucatini according to package instructions while sauce is simmering. Drain and keep ¼ cup of the pasta water.
Add the bucatini to the pot with the sauce, tossing to coat. Add butter and Parmesan as well as the pasta water 1 tablespoon at a time. Continue to toss to coat until the sauce reaches your desired consistency.
Serve immediately and top with some fresh Parmesan and basil.
Notes
Make sure the water you are cooking the pasta in is salted as some of the flavor comes from it.
DO NOT overcook the pasta when boiling. You want it just al dente or slightly under. It continues to cook with the sauce.
Don't use pre-shredded cheese. You want if finely grated so it melts well. Pre-shredded has added ingredients that will just make it clump up.
The butter can be omitted if you prefer. I like it as it adds some extra richness. You might need to add more pasta water to make up the difference.