Toast the dry spices (coriander, cumin, peppercorns, mustard seeds, and dried chilies) in a dry skillet over medium heat for 2 minutes until fragrant. Transfer to a blender.
Add garlic, ginger, and white vinegar to the blender with the toasted spices. Blend until a smooth, bright red paste forms.
In a large bowl, combine the lamb pieces with the blended paste. Mix thoroughly, cover, and marinate in the refrigerator for at least 4 hours, preferably overnight.
Heat ghee in a large heavy-bottomed pot or Dutch oven over medium heat. Add the finely chopped onions and saute for 15 to 20 minutes until deeply caramelized.
Stir in the turmeric powder and cook for 1 minute. Add the marinated meat along with all the marinade. Sear for 5 to 7 minutes until the meat is browned on all sides.
Pour in the crushed tomatoes and water. Season with kosher salt. Bring the mixture to a gentle boil, then reduce the heat to low, cover, and simmer for 1.5 hours, stirring occasionally, until the meat is fork-tender.
Stir in the jaggery and cook for a final 5 minutes to balance the heat and acidity. Serve hot with steamed basmati rice or fresh naan.