- To make sauce: On medium flame heat olive oil in a large heavy base saucepan. Add chopped onions and minced garlic – saute for a few minutes until onions turn translucent.
- Add tomato paste – stir and cook for about a minute before adding crushed tomatoes, salt and pepper. Stir well and bring to the boil. Reduce heat to low, cover and cook for 30 minutes.
- Place all ingredients for meatballs in a large mixing bowl. Mix well in one direction for about five minutes until sticky and well incorporated. Using wet hands, roll the meat mixture into large meatballs, about the size of ping-pong balls.
- On medium flame, heat 2 tablespoons of olive oil in a large frying pan and fry meatballs for 3-4 minutes, tossing occasionally, until lightly golden brown all over.
- Transfer the meatballs into the simmering sauce. Cover partially and cook on low heat for another 60-90 minutes, stirring occasionally. (every 20 minutes or so). Once done, your meatballs should be fork tender when sliced through.
- Bring a big pot of salted water to a boil. Cook spaghetti as per instructions on the pack until al-dente. Save some pasta water to thin out the sauce, if necessary.
- Check the consistency of the sauce and adjust to your liking – if too thick add some spaghetti water to thin it down. If sauce is too thin, reduce it by turning up the heat. Taste and adjust seasoning.
- Serve hot spaghetti topped with tomato sauce, meatballs, basil and some grated parmesan.