Combine moghrabieh and chicken stock, cover and soak overnight in the refrigerator. If using dried chickpeas, soak in water overnight.
Once chickpeas are soaked, drain, and then simmer gently in a large saucepan of water until tender, 45 minutes – 1½ hours depending on chickpeas.
Place the lamb, 5 cups (1.25 liters) water, salt and cinnamon in a medium saucepan, bring to the boil over high heat. Reduce the heat and simmer gently for 1 hour, removing any scum from the surface, or until tender.
After 40 minutes of simmering, heat half the butter in a large frying pan over medium-high heat until it starts to turn golden brown, add the pickling onions and fry for a few minutes, or until browned on all sides.
Remove from the pan and add to the lamb saucepan. Simmer for 10 minutes, or until tender, then remove with a slotted spoon and keep warm. Reserve cooking liquid
Meanwhile, drain the moghrabieh and heat the remaining butter in a large saucepan.
Add the moghrabieh and cook for 10 minutes, stirring constantly.
Add the chickpeas and pickling onions and cook for a further 5 minutes.
Add 1 cup of the stock from the lamb, stirring constantly to prevent the mixture sticking to the pan.
Add the black pepper, Lebanese spices, cumin and caraway, stir well to combine and remove from the heat.
Transfer the moghrabieh to a large serving dish, arrange the lamb and onions on top and garnish with the ground cinnamon. Serve with a jug of extra meat stock if you wish.