Heat two tablespoons of olive oil in a heavy saucepan over a gentle heat and add the onion and garlic
Cover and sweat the onion and garlic for four minutes until they become soft and slightly golden. Allow them to cool
In a bowl, mix the minced beef with the cooled sweated onion and garlic
Add the herbs and beaten egg to the mixture, and season the mixture with salt and pepper
Fry a small bit to check the seasoning and adjust if necessary
Divide the mixture into approximately 24 round balls
Cover the meatballs and refrigerate them until required
Meanwhile, make the tomato sauce
Heat the oil in a saucepan
Add the sliced onion and crushed garlic, toss until coated, cover, and sweat on a gentle heat until they become soft and pale golden
Slice the canned tomatoes and add, with all the juice, to the onion mixture
Season the contents with sugar, salt and freshly ground pepper
Cook the tomatoes uncovered for approximately 30 minutes or until the tomato softens (while this is cooking make the meatballs)
Heat a frying pan and cook the meatballs for about 10 minutes in about three tablespoons of olive oil
When they are cooked, put them into an ovenproof dish with the tomato sauce and top with the grated mozzarella
Place under a pre-heated grill until the cheese has melted. Serve with spaghetti