Put the chicken with its marinade into a pan and place on the heat. Simmer on a gentle boil until the chicken is tender and cooked through, about 20 minutes. Allow the chicken to cool and then shred into big chunks. (If you used boneless chicken then no need to shred). Then cover and set aside. If there are any leftover liquids in the pan from boiling the chicken, do not discard. We will use this when preparing the chicken gravy.
When cooking the chicken, it is not necessary to add any water, the yoghurt is normally sufficient to tenderise the chicken. But if needed, you can add a quarter cup of water.
Next, put the tomatoes and 2 tbsp of the fried onions in a blender. Add the small bunch of coriander and one green chilli. Blend until smooth. Set aside.
Now heat the oil in a pan, add the whole spices (cumin, cinnamon stick, pepper, cardamom and cloves). Let them splutter then add the blended mixture of tomatoes, fried onions and coriander/chilli. Simmer on low heat and add the tomato paste/puree plus some salt and the leftover cooking liquids from boiling the chicken earlier. Allow this to simmer gently until it thickens and is cooked through. Finally add the chunks of chicken and sprinkle on the garam masala plus some chopped coriander. Squeeze in the lemon juice and turn off the heat.
Next, make the Rice
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.
Then put the rice back in the pan, drizzle 2 tbsp. of oil, the soaked saffron water and some orange/yellow colour on the rice. Seal the pot and put on dum/steam it on the stove....or bake in the oven for about 10 minutes. Serve the rice with the chicken on top and garnish with fried potato cubes, boiled egg slices and fresh coriander.