First marinate the chicken in the ginger, garlic, whole spices, half of the yoghurt, half the fried onions, 3 tbsp. tomato paste, oil, tandoori masala, pinch of orange food colouring, salt, 1 slit green chilli and a pinch of the saffron. Mix everything together and marinate overnight for best results, or at least 4 hours.
Heat the remaining 4 tbsp. of oil, then add the remainder of the fried onions, tomato paste, saffron, green chilli and yoghurt. Add the marinated chicken with its marinade, and cook on medium heat for 10 minutes, then lower the heat to low and cook for another 10 minutes.
Keep the pan covered and give the mixture a stir after every few minutes. Adjust salt, chilli to taste. Add the fried potatoes once the chicken is tender and cook together on low heat for 5 minutes so that the potatoes take on a nice colour. Sprinkle garam masala and set aside.
Wash then soak 3 cups of rice in water for about 20-30 mins. Soak a few saffron strands in some water and set aside. Bring a big pot of water to boil, add salt, 4 cardamom pods, 2-3 cinnamon sticks and 2-3 cloves plus about 2 tbsp. of oil.
Drain the soaked rice and add it to this water when it is boiling. Cook until the rice is about 3/4 done, remove and strain out all the water. Put half the rice back into the pan, drizzle about 2-3 tbsp. of oil and the saffron water. Add a bit of orange colour on one side and mix it up a bit with a spoon then cover the pot tightly. Steam this on low heat for 15 minutes or put in a 180 C preheated oven for about the same time. Serve the rice with the Biryani Masala on top.
Alternatively, you can layer the two in the pot by placing the cooked masala at the bottom of the pan and the rice on top, then steam as directed, for about 15 minutes on low heat. This tends to infuse the lovely biryani flavour into the rice as it steams.