For the Kohlapuri Masala:
In a large pan, heat oil over medium-high heat. Add ginger and garlic and sauté until light brown. Add mustard seeds, poppy seeds, dried chilies, and curry leaves and sauté until seeds pop. Lower heat to medium-low and add coconut and fenugreek seeds. Roast until coconut deepens in color and becomes fragrant. Cool and grind to a fine texture.
For the Lamb:
Heat oil in a large pot over medium-high heat. Add cinnamon, bay leaf, cardamoms, cloves, cumin seeds, and red chilies. When the seeds pop, add Kohlapuri Masala, garlic, and ginger and sauté until light brown. Add onions and cook, covered, until light brown. Add lamb, tomato, and a half cup water, simmer covered for 10 minutes. Add tomato purée, salt, coriander, turmeric, chili powder, paprika, garam masala, and black pepper. Simmer covered until lamb is cooked through.
To Assemble and Serve:
Add fenugreek leaves, coconut milk, and fresh cilantro to the Lamb.