Put all of the curry powder ingredients into a spice grinder and grind to a fine powder. (Alternatively use a pestle and mortar.)
Preheat the oven to 170C/150C Fan/Gas 2.
Season the lamb all over with salt and pepper and 2 tbsp of the curry paste. Place the lamb in an ovenproof dish and drizzle with olive oil. Cook in the oven for 2-4 hours.
In a small food processor, blend the chilli, garlic and ginger to a paste, adding a splash of water if necessary.
Place a pan over a high heat and add the onions (add a splash of oil to the pan if it is too dry). Fry for 2-3 minutes, or until softened and starting to colour.
Add 2½ tablespoons of the curry powder to the pan along with the garlic, chilli and ginger paste, curry leaves, cardamom and bay leaves. Stir well and cover with the chopped tomatoes, beef stock and tamarind juice. Season, to taste, with salt and freshly ground black pepper. Cover the pan with a lid and simmer over a low heat for 30-40 minutes.
Once the lamb has cooked, allow it to rest for at least 20 minutes. Shred the lamb meat and stir it into the sauce. Add the coriander just before serving.
For the chapatis, sift the flour and salt into a large bowl and gradually mix in about 200ml/7fl oz water to form a soft dough (you may not need all of the water). Cover and set aside to rest for 10 minutes.
Turn the dough out onto a floured work surface, lightly knead and then divide equally into 12 balls. Roll out each ball as thinly as possible. Heat a frying pan over a high heat and add the oil. Cook the chapatis one at a time, frying for 1-2 minutes on both sides or until golden-brown and puffed up.
Place the rice in a saucepan and add 350ml/12fl oz salted water and bring to the boil. Cook over a low heat until the water has evaporated, then remove from the heat, cover with a lid and leave to steam for 10 minutes. When the rice is cooked, stir through the coriander leaves
To serve, put the curry in a shallow serving bowls and serve the rice and chapatis on the side.