Bring a large pot of salted water to a boil. Cook the pasta until al dente, then reserve at least 1 cup of pasta water before draining.
Heat the butter or olive oil in a wide skillet over medium heat. Add the onion, garlic, and optional chili flakes. Cook for about 2 minutes until fragrant and softened.
Add the tomato passata and dried basil. Lower the heat and simmer gently for 5 minutes.
Reduce the heat to low. Stir in the cream cheese, Parmesan, and 60 ml pasta water until smooth and creamy.
Season with salt and black pepper. Add more pasta water if the sauce is too thick.
Add the drained pasta to the skillet and toss until completely coated. Serve immediately with extra Parmesan and basil.