Make the marinade – whizz everything in a blender, or grate the ginger and garlic into a bowl and combine with the yoghurt and spices using a wooden spoon. And make the chilli butter – also whizz everything in a blender (save half in the fridge for another time).
Next, spatchcock the chicken. Turn it over onto its back with its head facing towards you. Cut down each side of the chicken along the spine with strong kitchen scissors, then turn the chicken over and press down hard on the breast with both hands until you have flattened the chicken. Alternatively, you could ask your butcher to do this.
Cover the chicken with the marinade, inside and out. Leave overnight in the fridge or for at least a couple of hours.
Preheat the oven to 200°C/fan 180°C/gas 6 and find a roasting tin that allows the chicken to fit snugly inside.
Fit the bird in the roasting tin with the coconut milk and cook on the middle shelf for 45–50 minutes. A large 2kg chicken should cook perfectly during this time. For a slightly smaller bird, check if cooked after 45 minutes by pulling gently on a leg and seeing whether the juices run clear, basting the chicken juices and coconut milk over the chicken every 10 minutes or so.
Meanwhile, cut the limes in half and put in a bowl. Mix in the oil and sugar and place skin side down on a baking tray with most of the sugar on the flesh. Place on the top shelf of the oven in the last 20 minutes of cooking.
Put the chicken juices and coconut milk that remain in the tin through a sieve and season to taste with more salt or brown sugar if necessary. Transfer the chicken to a warm serving plate and leave to rest for at least 20 and up to 40 minutes uncovered, then serve it with the sieved sauce, the brown sugar limes, some chopped fresh herbs and pomegranate seeds (and any optional sides you fancy).