Heat the oil in a large karahi or heavy-based pan over a medium-high heat.
Stir in the cumin seeds, ginger paste, and garlic paste. Sauté for 1 minute until fragrant, stirring continuously to prevent the garlic from catching.
Add the lamb and cook over a high heat for 6–8 minutes, stirring frequently, until the meat changes colour and is lightly browned on all sides.
Season with the salt, then pour in the water. Stir well, bring to a boil, then cover with a lid. Reduce the heat to medium and cook for 40–45 minutes, or until the lamb is tender. Stir occasionally and add a splash of water if the pan begins to dry out before the meat is cooked.
Add the chopped tomatoes and mix well with the lamb. Cover again and cook over a medium heat for 8–10 minutes until the tomatoes have completely softened and broken down into a thick sauce.
Stir in the yoghurt and continue cooking for 4–5 minutes, stirring regularly, until it is fully incorporated and the oil begins to separate from the sauce.
Add the remaining ingredients and cook for a further 2–3 minutes, stirring well to combine all the flavours.
Remove from the heat and serve hot with naan, chapati, or boiled rice.