Smear the fish with turmeric and a little salt and set aside.
Wash the rice and soak in plenty of water for 20 minutes. The drain in a sieve.
Pour the ghee into a wide pan on medium heat and gently saute the whole spices - cinnamon, cloves, cardamom and cumin for 20 seconds.
The add the sliced onions and fry till they are translucent and lightly golden. Lower the heat and add the curry leaves, crushed ginger, garlic and green chillies. Saute gently for a minute or two taking care not to burn the garlic.
Mix the ground spices except the garam masala in a tablespoon of water and add to the pan. Stir and cook for a minute.
Tip in the tomatoes and season with salt. Cook the tomatoes till they become pulpy - 3-4 minutes. Now add the whisked yoghurt and lemon juice and cook the mixture for a further 4-5 minutes till you see the ghee separate on the edges of the spice mixture.
Gently place the fish slice into the pan and coat with the mixture. Do not stir too much and let the fish sear for no more than a minute on each side. Remove the fish onto a plate and reserve.
Now put the drained rice into the pan, stir well to coat with the masala mixture and saute for 5-7 minutes till well toasted. Mix in the garam masala, spread the rice evenly around the pan and place the fish slices at even distances from each other.
Pour water to just cover the surface of the rice and fish. Too much water will make the rice squishy.
Cover the pan with a tight-fitting lid, keep the flame on medium and cook for 20 minutes. After 20 minutes, switch off the flame, move the pan from the stove/hob without removing the lid and allow it to rest for 10-15 minutes. Finally, take off the lid, remove the fish pieces, fluff the rice gently with a for, transfer onto a serving dish, place the fish slices on top and serve.