Pour the tepid milk over the saffron and set aside to infuse. Heat the ghee or oil in a large heavy-based pot over medium–high heat and fry the onions until caramelized. Using a slotted spoon and leaving as much of the oil in the pan as possible, transfer the onions to a plate, spreading them across the plate to cool. Remove half the oil from the pan and set aside. Add the chicken to the remaining oil and cook
over medium–high heat until golden brown on both sides. Add the garlic, ginger, yogurt, chili powder, and 2 teaspoons of the salt and cook
over medium–high heat until the garlic and ginger have lost their raw smell and the yogurt has reduced. Add half the caramelized onions,
then add warm water to cover the chicken, bring to a boil, then cover and simmer for about 25 minutes. You do not want the chicken to
be tender: it should still be firm, since it will be cooked further with the rice. Drain the soaked rice. Boil a kettle and pour the water into a large pot. Bring back to a boil, add another 6 teaspoons salt, then add the drained rice and boil until the rice is three-quarters cooked (this should not take more than 5 minutes). To test, remove one grain from the boiling water and squeeze it. There should be a hard core to the grain of rice. When the rice reaches this stage, drain and spread it on a tray to prevent it from continuing to cook.