Put the peeled onion and the celery into a food processor and blitz to a mush.
Reserve two tablespoons for the meatball mixture.
Warm the garlic-flavored oil in a large, heavy saucepan or Dutch oven, add the onion and celery mixture, along with the thyme, and cook at moderate to low heat, stirring every now and again, for about 10 minutes.
Add the cans of tomatoes, filling up each empty can with water to add to the pan.
Season with the sugar, salt and pepper, stir and let it come to a bubble, then turn the heat down to simmer gently while you get on with the meatballs.
Put all the ingredients for the meatballs, including the reserved chopped onion and celery and salt according to preference, into a large bowl and mix together, gently, with your hands.
Don't overmix, as that will make the meatballs dense-textured and heavyWhen all the meatball ingredients are just amalgamated, start rolling.
The easiest way is to pinch out an amount about the size of a generously heaped teaspoon and roll into a ball between the palms of your hands.
Put the meatballs on a rimmed baking sheet, lined with parchment paper, as you go.
You should get about 50 little meatballs.
Drop these gently into the simmering sauceLet the meatballs simmer for 30 minutes, until cooked through.
Serve with rice or pasta.
I sometimes give them an automatic upgrade by serving with the arugula and lemon couscous.
Make ahead note: The meatballs and sauce can be made up to two days ahead.
Transfer meatballs and sauce to a non-metallic bowl to cool, cover and refrigerate as soon as possible.
Reheat gently in a saucepan, giving the occasional stir (be careful not to break up the meatballs), until meatballs and sauce are piping hot.
Freeze note: The cooled meatballs and sauce can be frozen in airtight containers for up to three months.
You may find it handy to freeze in individual portions if making a large quantity.
Thaw overnight in the refrigerator and reheat as above.