Heat the oil in a saucepan and gently cook the onion and garlic until softened. Stir in the tomatoes, chilli, balsamic vinegar and sugar. Bring to a simmer and cook slowly for 45 minutes to 1 hour.
Stir in the basil and season with salt and pepper. This can be left chunky or blended in a food processor for a smooth sauce. Serve spooned over cooked pasta with plenty of Parmesan cheese.