01 - Pat the lamb shanks dry and season generously with salt and pepper.
02 - In a large heavy-based pot or Dutch oven, heat the vegetable oil over medium-high heat. Sear the lamb shanks on all sides until browned. Remove and set aside.
03 - In the same pot, add the onions and sauté until golden brown, about 10 minutes.
04 - Add the garlic and ginger, cook for 1–2 minutes until fragrant.
05 - Stir in all ground and whole spices. Toast for 1 minute, stirring constantly.
06 - Add the chopped tomatoes and cook for 5 minutes, letting them soften and release juices.
07 - Return the lamb shanks to the pot. Pour in the stock and bring to a simmer.
08 - Cover with a tight-fitting lid, reduce heat to low, and cook gently for 2.5 hours, turning shanks occasionally.
09 - Stir in the yogurt, fresh tomatoes, and green chili. Simmer uncovered for another 45–60 minutes, until the lamb is very tender and sauce is thickened.
10 - Skim excess fat if desired. Adjust seasoning with salt.
11 - Garnish with fresh cilantro and serve with lemon wedges.