In a large bowl, toss the lamb cubes with ground cumin, coriander, cinnamon, turmeric, and crushed peppercorns. Let the meat marinate for at least 30 minutes.
Heat the olive oil in a traditional tagine or a large Dutch oven over medium-high heat. Add the seasoned lamb and sear until browned on all sides, about 5 to 7 minutes. Remove the lamb and set aside.
In the same pot, add the chopped onion, minced garlic, and fresh ginger. Sauté until the onions become soft and fragrant, which takes about 5 minutes.
Stir in the tomato paste, cooking for an additional minute to deepen its flavor.
Return the seared lamb to the pot. Pour in the broth and bring the mixture to a gentle simmer. Cover tightly and reduce the heat to low, slow-cooking for 1 hour.
Add the cubed potatoes, butternut squash, and dried apricots to the tagine. Cover and continue to simmer for another 45 minutes, ensuring the lamb and vegetables become very tender.
Gently stir in the halved cherry tomatoes and cook for a final 10 minutes.
Garnish generously with chopped fresh herbs before serving hot with couscous or warm flatbread.