Heat oil in a large casserole over medium-high heat. Stir fry cardamom, cloves and bay leaves for 1-2 minutes.
Add onion paste. Cook, stirring, for 1-2 minutes or until the raw smell disappears. Add ginger garlic paste. Cook, stirring, for 2 minutes or until fragrant.
Stir in spice mix. Cook for 1 minute or until aromatic. Add tomato paste and canned tomatoes. Cook, stirring often, for 1-2 minutes.
Add lamb. Season with salt. Cook, stirring occasionally, for 10 minutes. Stir yogurt into the curry. Cover lamb with 250 ml hot water. Bring to the boil.
Reduce heat to medium-low, and simmer, covered and stirring occasionally, for 30-40 minutes or until lamb is cooked through.
Sprinkle with chopped coriander and mint leaves. Serve with naan, roti or rice.