Mix your ginger and garlic together. Put them in a bowl that’s big enough to fit all the cubed lamb in. Add the turmeric, yoghurt and black pepper to the bowl and mix together. Tip the lamb into the bowl and stir it around until it’s well coated with the yoghurt and spices. Cover and leave overnight in the fridge to marinate.
Preheat your oven to 170ºC/325ºF/gas 3. Roughly chop the onions and peppers and whiz them in a food processor with 3 chillies and the coriander stalks until finely chopped. Finely slice the remaining chilli and set aside.
Bash the cardamom pods and remove the seeds, discarding the shells. Place the heavy-based pan you're going to cook the curry in on a medium heat and add the cardamom seeds, cloves, cinnamon, cumin and coriander seeds. Toast until they go a shade darker in colour, then tip into a pestle and mortar and grind up with the dried red chillies (or use a spice grinder if you have one).
Keep the pan on the heat and add a splash of groundnut oil. Add the blitzed onion, pepper and chilli paste from the food processor with the ground up spices and paprika.
Cook over a gentle heat for about 10 minutes. By now, lots of delicious curry smells will be coming out of the pot. Roughly chop the tomatoes and add to the pan with the tinned tomatoes, 1 tin's worth of hot water and the marinated lamb, then stir well. When the curry comes to the boil, add a good pinch of salt, cover tightly with a lid and place in your preheated oven. You can basically forget about it now, as all the hard work is done. Just wait 2 hours and carefully take the pot out of the oven.
Taste it, and if it needs salt, add a little. If it’s too hot, add a little yoghurt to cool it down. You can garnish with extra chilli, coconut, chopped mint and coriander leaves. Serve with rice, your favourite Indian bread such as parathas, naans or chapatis, and loads of cold beer – you’re going to need it!