Heat half the ghee in a small frying pan, fry almonds until golden.
Drain and fry sultanas a few seconds and set aside.
Fry peeled and halved potatoes until brown, drain and reserve.
Pour any ghee left in pan into a large saucepan, add remaining ghee and fry onion, garlic and ginger until onion is soft and golden.
Add chili, pepper, turmeric, cumin, salt and tomato. Fry, stirring constantly for 5 minutes.
Add yoghurt, mint, cardamom and cinnamon stick.
Cover and cook over low heat, stirring occasionally until tomato is cooked to a pulp. (It may be necessary to add a little hot water if mixture becomes too dry and starts to stick to the pan.)
When mixture is thick and smooth, add chicken pieces and stir well to coat them with spice mixture.
Cover and cook over very low heat until chicken is tender, approx. 35-45 minutes.
There should be only a little very thick gravy left when chicken is cooked.
If necessary cook uncovered for a few minutes to reduce gravy.
Wash rice well and drain in a colander for at least 30 minutes.
Heat ghee and fry onion until golden. Add saffron, cardamom, cloves, cinnamon stick, ginger powder and rice.
Fry stirring, until rice is coated with the ghee. Add rose water or essence and salt to hot stock, pour over rice mixture and stir well. Add chicken savory and potatoes and gently mix into rice. Bring to boil.
Cover saucepan tightly, turn heat to a very low and steam for 20 minutes.
DO NOT lift lid or stir while cooking. Spoon biryani onto a warm serving dish.
Garnish with the almonds and sultanas and serve immediately.