Prepare the lamb by cutting it into large chunks. Season generously with salt and black pepper.
Heat 2 tbsp of olive oil in a large, heavy-based pan over medium-high heat. Add the lamb pieces and sear them until they are browned on all sides, about 5-7 minutes. Remove the lamb from the pan and set aside.
In the same pan, add the remaining olive oil. Add finely sliced onions and cook until soft and golden, about 8 minutes. Stir in the crushed garlic and grated ginger, cooking for another 2 minutes until fragrant.
Add the coriander seeds, cumin seeds, turmeric powder, garam masala, and chilli powder to the pan. Toast the spices lightly for 1-2 minutes, stirring continuously, to release their aromas.
Return the seared lamb to the pan and add the canned chopped tomatoes. Pour in the water, mix well, and bring to a simmer. Cover and cook on low heat for about 60-90 minutes until the lamb is tender.
Stir in the Greek-style yoghurt and cook for an additional 10 minutes, allowing the curry to thicken slightly. Adjust seasoning with salt and black pepper.
Garnish with freshly chopped coriander leaves before serving. Serve hot with basmati rice or naan bread.