Break up the bread, place in a bowl and add enough water to cover, then leave to soak for 5 minutes. Drain, then squeeze to remove the excess water and return to the bowl.
Squeeze the grated onion to remove most of the juice and add to the bread. Stir in the meat, garlic and parsley, then add the egg, season and mix together. Shape the mixture into walnut-sized balls using wet hands.
Heat the oil in a large frying pan, add the meatballs in 2 batches and fry for 5 minutes, turning occasionally, until golden all over. Set aside.
Make the sauce. Heat the oil in a large saucepan, add the onion and cook for 5 minutes until softened. Stir in the garlic and paprika and cook for a further 30 seconds. Pour in the wine and cook for 2 minutes until reduced by half. Add the tomatoes and thyme, season and simmer for 10 minutes. Add the meatballs to the sauce and simmer for 30 minutes until the meatballs are cooked through, adding a little water if necessary.