Peel and finely chop the shallots. Pick the leaves off the parsley sprigs. Finely chop them. Beat the egg in a large bowl.
Add the shallots, most of the parsley, the beef mince and breadcrumbs to the egg. Season. Stir together. Roll the meatball mix into roughly10-12 balls. Put on a plate. Cover with cling film. Bung in the freezer for 5-10 mins.
Peel and finely chop the onion. Peel and grate or crush the garlic. Fill the kettle and boil it.
Warm 1 tbsp oil in a deep frying pan or wok. Add the meatballs. Fry over a medium heat for around 5 mins till they're golden brown all over. Lift them out of the pan. Pop on a plate lined with kitchen paper.
Add the onion to the pan. Season. Stir and fry for 5-8 mins till the onion is soft but hasn’t picked up too much colour – keep the heat fairly low. Stir in the garlic.
Add the chopped tomatoes. Half fill the empty tin with water and add that too. Stir the sauce. Add the meatballs back in. Cover. Simmer for 15 mins till the sauce is thickened and the meatballs are cooked through.
Fill a pan with hot water from the kettle. Add a pinch of salt. Bring to the boil. Add the spaghetti. Simmer for 8 mins till the spaghetti is tender and not too soft. Grate the Parmesan.
Drain the spaghetti. Divide between two warm plates or bowls. Top with the meatballs and sauce. Top with the Parmesan and the rest of the chopped parsley to serve.