In a large bowl, mix together the garlic, ginger, cinnamon, turmeric and yoghurt with some pepper and ¼ teaspoon of salt.
Tip in the chicken pieces and mix to coat well. Cover and marinate in the fridge for about 1 hr or longer if you have time.
Warm the milk to tepid, stir and set aside.
Preheat the oven to 200°C / 400°F / Gas mark 6.
Using a baking tray, add 1½ tablespoons of the oil in.
Slice each onion in half lengthways, reserve half and cut the other half into thin slices. scatter over the sliced onion, toss to coat, then spread out in a thin, even layer into the baking tray.
Cook for 40-45 minutes, stirring halfway through, until golden.
When the chicken has marinated, thinly slice the reserved onion.
In a large frying pan, heat 1 tablespoon of oil and fry the onion until golden, about 5 minutes.
Stir in the chicken, a spoonful at a time, frying until it takes on colour before adding the next spoonful.
Once the last of the chicken has been added, stir-fry for a further 5 minutes.
Stir in the chilli powder, then pour in 100ml water, cover and simmer on a low heat for 15 minutes.
Remove and set aside.
Cook the rice according to the instruction, drain well and set aside.
Heat another 1 tablespoon of oil in a large frying pan, then add in the cinnamon stick, cardamom, cloves and cumin seeds.
Fry briefly until they release their aroma.
Tip in the rice and fry for 1 minute, stirring constantly.
Stir in the stock and bring to the boil.
Lower the heat and simmer, covered, for about 8-10 minutes or until all the stock has been absorbed.
Remove from the heat and leave with the lid on for a few minutes.
Stir the garam masala into the remaining 1½ teaspoon of oil and set aside.
When the onions are cooked, remove and reduce the oven to 180°C / 350°F / Gas mark 4.
Spoon half the chicken and its juices into an ovenproof dish, then scatter over a third of the onions.
Remove the whole spices from the rice, then add half of the rice over the chicken and onions.
Drizzle over the spiced oil.
Spoon over the rest of the chicken and a third more of the onions.
Top with the remaining rice and drizzle over the milk.
Scatter over the rest of the onions, cover tightly with foil and heat through in the oven for about 25 minutes.
Serve scattered with the mint and coriander.