First, fry the fish pieces in oil until they are slightly brown on the outside but not totally cooked through. Remove and place on kitchen towels to blot.
Add a drop of yellow/orange colour to the potato quarters. Toss them to make sure the color coats all of them evenly.
Heat some oil, fry the potato quarters on low heat until sealed on the outside and soft on the inside...you can test this by sticking the tip of a knife into the potato quarters. If it goes in easily, the potatoes are done! Remove them from the oil and set them aside.
Turn up the heat, add the onions and fry until golden. Remove them on some kitchen towels and set aside.
Add the whole spices into the oil, when they start to splutter, add the green chilies, garlic and ginger...followed by the grated tomatoes plus tomato paste and cook them down until all the water dries up. Add half of the fried onions (crush them slightly). Cook for a few minutes, stirring regularly. Add the salt, powdered spices and half of the soaked saffron. Cook together for a few minutes. You can now add the fried potatoes, mix them in then add the coconut milk. Simmer on low heat, stirring regularly for about 10 minutes. You can add a bit of water/milk for extra gravy if you like, or if you find that it is drying out too quickly. Lastly, add the fish pieces and garam masala. Stir together gently and turn off the heat.
Next, prepare the Rice
Bring a big pot of water to boil, add 2 tbsp. of salt, 1 cinnamon stick, 1 cardamom pod and 1 tbsp. of oil plus some yellow/orange colouring to give our rice a nice yellow colour, as this dish is known for its yellow rice.
Drain the soaked rice and add it into your boiling water, simmer on medium heat, giving the rice a stir every few minutes to make sure the grains don't clump together. As the rice boils, check and see if there is enough colour in there. Remember all the water will be drained out, so you are checking for the actual grains to have taken some colour.
Once the grains are long and about done (they should crush when pressed gently between the thumb and finger), then drain the rice in a big strainer and pass a bit of tap water over the rice to stop the cooking process so they don't get over-cooked.
Return half the rice back into your pot and pat it down neatly, then add the gravy and sprinkle the remaining fried onions and a bit of chopped coriander. Add the remainder of the rice and drizzle the saffron water and a bit of oil on top. Then cover using a tight lid. If you don't have a tight lid you can wet a big brown paper (grocery bag will do) and cover the pot, then place your lid over this just to hold it down. Put on the stove on very low heat for about 10 minutes.
When ready to serve, squeeze in some lemon juice and gently mix everything together so the gravy is well combined with the rice. Garnish with some more chopped coriander.
Serve with kachumbar and enjoy! :)