First make the meatballs. Squeeze the grated onion to get rid of any excess moisture, then mix with the lamb, ras el hanout and egg yolk and season well. Lightly wet your hands and shape the mixture into 12 meatballs, each about the size of a golf ball.
Heat the oil in a frying pan. Add the meatballs and cook for 5 minutes until starting to turn golden. Add the chopped onion and cook for 3 minutes until softened, then add the garlic and ginger and cook for a further 1 minute. Stir in the ras el hanout, then pour in the tomatoes. Season to taste and simmer for 12 minutes, topping up with a little water if necessary.
Make 4 holes in the mixture and crack an egg into each. Loosely cover the pan with foil and simmer for 5 minutes or until the egg whites are just cooked through. Serve scattered with the coriander.