Combine all the meatballs ingredients together. Shape into palm-size balls, each roughly weighing about 20g.
Chill the meatballs in the refrigerator for at least 30 minutes.
Making meatballs spaghetti
In a large pot, heat oil over medium-high heat until it starts to smoke.
Sear meatballs until a crust form over the meatballs on all sides and are browned in colour. Remove from pot and set aside.
In the same pot, add more oil if required and add garlic, onions, and red chillies. Saute until golden.
Season with salt, black pepper, and paprika.
Stir in tomato paste and cook for a few minutes until deepened in colour.
Add chopped tomatoes, beef/lamb broth, and bay leaves. Bring to a boil then lower heat to medium-low and allow to simmer for 15 minutes until slightly reduced.
Discard the bay leaves. Using a hand-blender, blend the sauce until smooth.
Return the meatballs into the sauce. Cover and simmer for 25-30 minutes.
In the meantime, bring a large pot of water to boil. Season generously with salt and cook spaghetti according to package instructions.
Stir in fresh coriander leaves and let cook for another 5 minutes.
Toss in cooked spaghetti in the sauce. Garnish with more fresh coriander leaves and serve hot.
Notes
By keeping the meatballs relatively small in size, they'll be easier to handle and for serving.
When rolling the meatballs, do not pack them too firmly as that would result in tough textures.
Briefly wet your hands in cold water or lightly brush a layer of olive oil so that the meat won't stick to your hands.
To avoid the meatballs from breaking apart when cooking, chill the meatballs in the fridge for at least 30 minutes before cooking.
To sear the meatballs, make sure the oil is heated under high heat and just started to smoke. This is to seal the juices of the meatballs and keeping them juicy!