Heat 1 tablespoon oil or ghee in a large frying pan over medium-high heat. Add lamb. Season with salt and pepper. Sauté, stirring occasionally, for 5-6 minutes or until browned. Remove from pan. Set aside. (Fry in batches if needed)
To the same pan, add remaining 1 tablespoon oil or ghee. When hot, add cardamom pods, cinnamon stick and bay leaves. Sauté, stirring, for 1 minute.
Add onions. Sauté, stirring occasionally, for 2-3 minutes or until browned.
Add ginger and garlic. Sauté, stirring occasionally, for about 2-3 minutes or until aromatic.
Add ground turmeric, ground coriander and red chili powder. Sauté, stirring, for 1 minute.
Add tomato paste. Sauté, stirring, for 1 minute. Add browned lamb and water. Season with salt and pepper. Stir to combine. Bring to a boil. Simmer for 40-45 minutes or until lamb is tender.
Add garam masala, chopped coriander (cilantro) leaves and kasuri methi (dried fenugreek leaves). Stir to combine. Simmer for another 10-15 minutes.
Garnish with coriander (cilantro) leaves. Serve with naan, paratha, roti or steamed rice.