Marinate lamb cubes in the ginger-garlic paste and salt. Cover with clingwrap and keep aside in a cool place.
Slice the onion and tomatoes.
Take the whole spices (peppercorns, cumin and coriander seeds) and the dry red chillies in a small frypan and roast on medium heat until they change colour and become fragrant. Wait a few minutes for the spices to cool down a bit, then grind in a spice or coffee grinder to a powder.
Heat oil in a karahi (wok) and add the onions. Fry until translucent.
Add the marinated meat along with the dry masala and saute on medium heat until the meat has browned slightly and the oil leaves the sides of the karahi.
Add the tomatoes, saute for 3-4 minutes or until the tomatoes break down. Lower heat and cook, covered, for 45 minutes. Check the gravy halfway and add half a glass water if needed.
Uncover and add ginger juliennes, green chillies and fresh herbs if using.
Serve with warm naan.
Choose the reddest, ripest tomatoes you can find.
Don't add too much water to the cooking meat. The gravy is supposed to be quite thick.