put the lamb, onion, garlic, herbs and spices in a bowl and mix well
season with salt and pepper (you need quite a bit)
roll tablespoons of the mixture into balls (I used a dessert spoon for ease)
heat the oil in a tagine over medium to high heat
add the meatballs in batches and cook, turning occasionally, for 8 - 10 minutes or until browned all over (once added do not turn until browned, then turn once and remove as soon as the other side is browned, this helps hold the shape)
remove the meatballs and set aside in a bowl
to make the sauce
heat the olive oil in the tagine (don't add too much if you have oil left over), add the onion and cook over medium heat for 5 minutes or until the onion is soft
add the garlic, cumin, cinnamon, and paprika and cook for 1 minute, or until fragrant
stir in the tomato and harissa and bring to the boil
reduce the heat and simmer for 20 minutes (with the lid off)
add the meatballs, cover and simmer for 10 minutes or until cooked
stir in the coriander, then carefully break the eggs into the simmering tagine and cook until just set - put the lid of the tagine back on to complete this process
season and serve with crusty bread to mop up the juices