First to prepare the meatballs: finely chop the onion and garlic then place in a frying pan along with one tablespoon of olive oil. Cook over a gentle heat for 10 minutes until soft and translucent. When cooked, transfer to paper towels to drain.
Meanwhile place the crackers in a dish or plastic bag and crush with a rolling pin or blitz them in a food processer until them until they resemble fine breadcrumbs.
When the onion mixture and cracker processes are complete, place them along with all the other meatball ingredients into a large bowl. The ingredients need to be well combined but not over mixed as this will lead to chewy meatballs.
Form the meatballs into ping-pong ball shapes and stack them up on a plate until needed. This should make 45-50 meatballs.
Now time to prepare the tomato sauce: Add one tablespoon of olive oil to a large ovenproof pot. Cook the onions on a low heat for 10 minutes until translucent.
Add the garlic, carrot, celery and peppers to the pot and cook gently for a further 2 minutes stirring often. Avoid burning the veg as this will give the dish an acrid taste.
Turn the heat up to medium then add the wine (if using). Allow the wine to bubble away and reduce by one third before adding the herbs, bay leaf, tomatoes, stock cube and tomato puree. Give everything a stir.
Allow the sauce to come up to the boil and then let it simmer for 10 minutes. Add salt and a good grind of black pepper to season.
Pop the meatballs into the sauce. Don’t worry if some are submerged and others are not at this point.
Put the lid on and transfer the pot to an oven that’s been pre-heated to 160 degrees centigrade.
Cook for 1 hour then check the meatballs. Carefully give everything a stir and return to the oven for a further 30-45 minutes. Up to 2 hours if you prefer a thicker tomato sauce.
Serve with rice or pasta and a fresh salad. Accompany with extra parmesan and basil leaves to be sprinkled on top.