Tip the mince, onion, parmesan, ground pepper and a big pinch of salt into a bowl and mash with your hands until combined. Roll into 16 even-sized balls.
Heat 1 tbsp of the olive oil in a frying pan and fry the meatballs until golden brown. Use a slotted spoon to scoop out onto a plate.
Add the remaining tbsp of oil to the frying pan and fry the garlic for 1 minute, then add the chilli flakes and tomato purée, and cook for a further minute. Tip in the tomatoes and 150ml of water, and simmer for 15 minutes. Use a hand blender to whizz the sauce until smooth, then add the meatballs back in. Simmer gently for 10 minutes, flipping the meatballs halfway.
Spoon the meatballs onto 4 sub bases, then spoon over the sauce. Add a few basil leaves, grate over more parmesan, put on the lids and serve with a salad, if you like.