Heat olive oil in a large fry pan and sauté onion and garlic on medium heat until onion is soft and translucent (and not at all raw), about 10 minutes.
Add tomatoes, tomato paste, sugar, vinegar and water and simmer for 15-20 minutes until sauce has reduced and thickened.
Stir through extra virgin olive oil, and season to taste with salt and freshly ground black pepper.
Cook spaghetti in plenty of salted boiling water until just cooked (al dente). Drain, reserving a few tablespoons of the pasta cooking water.
Toss spaghetti with tomato sauce, reserved pasta water and basil leaves.
To serve, divide between bowls and top with more basil and parmesan cheese.