Bring a large pot of salted water to a boil.
Heat a wide, heavy saut pan over medium heat. Add the oil and heat until shimmering, almost smoking. Add the onion and cook, stirring with a wooden spoon, until softened but not browned, about 5 minutes. Add the prosciutto and garlic, season with salt and pepper, and cook, stirring, for 1 minute. Stir in the tomatoes and sugar, bring to a simmer, and let simmer until the juices reduce slightly, about 15 minutes.
Meanwhile, add the penne to the boiling water and cook until al dente, 10 to 12 minutes.
Pour the cream into a mixing bowl and whip with a hand mixer until peaks form. Fold the cream gently into the tomato sauce.
Drain the penne in a colander, add it to the sauce, and toss well. Taste and add salt and pepper, if necessary. Transfer to serving bowl, top with grated cheese and basil, and serve immediately.