Put the onions in a food processor and blitz until finely chopped. Put the lamb, lemon zest, spices, parsley and half the onions in a large bowl, and season. Using your hands, mix until well combined, then shape into walnut-sized balls.
Heat the oil in a large flameproof dish, or tagine with a lid, then add the remaining onions, ginger, chilli and saffron. Cook for 5 mins until the onion is softened and starting to colour. Add the lemon juice, stock, tomato puree and olives, then bring to the boil. Add the meatballs, one at a time, then reduce the heat, cover with the lid and cook for 20 mins, turning the meatballs a couple of times.
Remove lid, then add the coriander and lemon wedges, tucking them in between the meatballs. Cook, uncovered, for a further 10 mins until the liquid has reduced and thickened slightly. Serve hot with couscous or fresh crusty bread.