Combine all the marinade ingredients in a bowl then pour over the chicken. Carefully ease the skin of the chicken from the flesh over the breast and legs starting from the head end. Gently spread some of the marinade under the skin. Allow to marinate in the fridge for at least 3 hours, preferably overnight, covered in cling film.
To make the stuffing, heat some oil in a pan and sauté the onions. Add the garlic and ginger and stir for a further minute. Add all the other ingredients except the coriander and gently sauté for another five minutes. Then stir in the coriander and allow the mixture to cool.
Preheat your oven to 190°C.
Stuff the marinated chicken and truss. Sprinkle with salt and drizzle olive oil, or vegetable oil, or melted butter. Place in the hot oven for one and a half hours.
Allow to rest, then carve and serve.