2) Whisk together the eggs and parsley in a large bowl. Add the browned garlic, meats and cheese and gently mix together until combined.
3) Begin adding breadcrumbs 1 tbsp at a time until the mixture just holds together. Season with salt and pepper, to taste. Cover and refrigerate for at least 30 minutes.
4) Heat the remaining oil in a large frying pan over a high heat. Form the meat into 4cm balls, add to the pan and fry until golden brown on all sides. Carefully remove to a baking sheet lined with paper towels.
For the tomato sauce:
1) Heat the oil in a medium saucepan over a medium-high heat. Add the onion, garlic and chili flakes and cook until the onion is soft. Add the tomato puree and cook for 30 seconds.
2) Stir in the tomatoes and leave to simmer, uncovered, for about 10 minutes. Add the peppers and parsley sprigs, season with salt and pepper, to taste, bring to a boil and cook for 10 minutes, stirring occasionally.
3) Add the meatballs, reduce the heat to medium and continue cooking until the meatballs have cooked through and the sauce has thickened, about 30 minutes longer.
To assemble the dish:
1) Drain the spaghetti and return to the pan. Add some of the sauce and toss to coat for about 30 seconds. Stir the chopped basil into the tomato sauce.
2) Ladle some of the meatballs and sauce over the spaghetti. Grate lots of Parmesan over the top and garnish with fresh parsley sprigs.