Trim any excess fat from the lamb shoulder and cut into 1-inch cubes.
Heat the olive oil in a heavy-bottomed pot or tagine over medium-high heat.
Season the lamb cubes with sea salt and black pepper, then sear in the pot until browned on all sides.
Remove the lamb from the pot and set aside; add the diced onion and sliced carrots to the remaining juices, sautéing until softened.
Stir in the ground cumin, coriander, cinnamon, and ginger, cooking for 1 minute until highly fragrant.
Return the lamb to the pot and stir in the tomato puree, beef bone broth, chickpeas, and chopped dried apricots.
Bring the mixture to a gentle boil, then reduce heat to low and cover with a tight-fitting lid.
Simmer for 45 to 60 minutes, or until the lamb is tender and the sauce has thickened.
Garnish with freshly chopped cilantro before serving warm.