Dry the lamb with kitchen towel then use a knife to score the whole lamb. Place the lamb into a large deep baking pan then season the lamb with salt, black pepper, smoked paprika and chilli powder. Rub the seasoning all over the lamb then set aside.
To a blender, add the yoghurt, harissa paste, olive oil, lemon juice, garlic cloves, chopped onion, cumin seeds, caraway seeds and coriander then blitz until smooth.
Pour the marinade onto the lamb and rub all over ensuring you rub the marinade into the cuts where you scored the lamb. Cover the pan with foil and refrigerate for at least 4 hours but preferably overnight.
Remove the lamb from the fridge and allow to rest at room temperature for 30 minutes. Preheat the oven to gas mark 2/300oF/150oC/130oC fan.
Pour the chicken stock into the baking pan around the lamb. Do not pour directly onto the lamb as you will remove the marinade. Roast in the centre of the oven for 6 - 7 hours, basting with the chicken stock a few times towards the end of the cooking time. Cook until the lamb is soft and tender and the stock has reduced.
Remove the lamb from the oven and allow to cool for 20 minutes then slice the lamb and serve with your favourite side dish along with the reduced chicken stock.