Begin by cleaning the fish pieces thoroughly under running tap water. Drain excess water.
Smear turmeric & salt on the cleaned fish steaks. Set aside.
Heat oil over medium high heat & release the fish steaks gently in the hot oil. Be very careful while doing so fish splutter a lot. Lightly fry both sides of the fish steaks. Set aside.
In the same pan add some more oil and temper it with the whole garam masalas (cardamom, cinnamon & cloves), bay leaf & the dried whole red chilies.
Next, reduce the flame to the lowest settings, allow the oil to cool down a bit. Than, add the onion paste, saute until the raw smell of the onion begins to mellow.
Add the ginger garlic paste, the turmeric powder, red chili powder, salt & sugar. Saute until the raw smell of the ginger garlic paste begins to faint.
It's time to add the yogurt. Before adding it to the pan, add a few teaspoons of water to the yogurt and whisk it to a smooth & pourable consistency.
Next, lower the heat to the lowest settings or turn off the heat before adding the yogurt to the pan. Adding yogurt to the hot pan might split it if not stirred quiet vigorously & almost instantly.
Add the yogurt & mix briskly. Pour some water according to your liking. Adjust the salt & sugar. Mix well. Cover & simmer the gravy at low heat.
When ready to serve add the shallow fried fish steaks to the gravy. Simmer for about 2 mins & serve hot with piping white rice.