Mix all the marinade ingredients with 1 tsp salt, rub all over the chicken to cover, then chill for at least 4 hrs, or up to 24 hrs.
To make the spice mix, heat the oil in a pan over a medium heat, and add all the spices. Fry for 3-5 mins until smelling toasted, then drain through a sieve and cool, discarding the oil. Grind to a fine powder in a spice blender or using a pestle and mortar, and keep in an airtight jar.
Heat the oven to 220C/200C fan/gas 7. Line a baking tray with foil, or lightly oil a roasting tin. Pat the chicken dry with kitchen paper, removing the excess marinade. Mix the yogurt, oil and all the spice mix together, then rub over the chicken and under the skin. Don’t worry if the mix splits a little.
Put the chicken, breast-side up, on the tray or in the tin. Roast for 1 hr 30-1 hr 40 mins, basting halfway through the cooking time and covering with foil if it gets too dark, until the juices run clear when a thigh is pierced with a skewer.
Remove from the oven, cover with foil and leave to stand for 10 mins before serving. Drizzle with pan juices and serve with lime wedges and sweet potato wedges, if you like.