Fry fish for 2 mintues on each side in 2 tblsp of oil. Remove from heat and set aside. Add remainder oil to a shallow cooking dish and add chopped chillies, cinnamon, cardamom, cloves and turmeric. Cook on low heat for 5 minutes and add the sliced onion. Once the onions are transluscent add the garam masala, coriander powder and ginger garlic paste and stir on low heat for 2 minutes. Add chilli powder and stir to mix. Add the fried fish, tomatoes, coconut powder and tamarind extract. The fish should be carefully placed in the cooking dish so that you have one layer of fish pieces. Do not overlay fish pieces on each other. Carefully mix so as not to break the fish apart. Let the curry cook on medium heat for 20 minutes. Transfer fish curry to a shallow serving dish. Garnish with chopped cilantro. Note: You can make this as spicy or the least spicy as you want. When you fry the fish, you can coat the fish with garam masala and ginger garlic paste before frying. You can change the amounts of garam masala and chilli powder and chillies to your taste. All in all, the fish curry tastes best when eaten the day after its cooked.