Marinate the lamb in yogurt, 1/2 the turmeric, paprika salt and garlic. Refrigerate the mixture for 30 minutes or up to a day.
In a large sized Dutch oven or stockpot over high heat, warm the ghee or oil. Add the sliced onions, baby leaf, cinnamon stick and sauté for 8-10 minutes. The onions should have reduced into a caramelized color.
Add the marinating meat, green chillies if using, remaining garlic, ground spices and ginger. Stir together, then lower the heat, cover, and simmer for 10 minutes.
Add the tomatoes if using and stir again. Add about ½ water, cover and bring it up to a boil. Lower the heat and cook on a medium simmer for 35-40 minutes. Stirring every 10 minutes.
If the mixture has too much liquid, take the cover off and cook on medium to high heat until most of it is absorbed and the color has darkened.
To make the finishing garam masala, blend the spices in a coffee grinder until a fine powder is formed. Store in an airtight container.
Add finishing garam masala just before turning the heat off. Let the curry rest for an hour or longer before serving.
Serve garnished with chopped cilantro and few slices of julienne ginger with any Indian stlye bread and/or steamed basmati rice and some sables.