Wash the fish pieces thoroughly under running water to remove odor.
Drain the water thoroughly.
Marinate the pieces with the marination ingredients and set aside for 30 mins.
Soak tamarind in hot water and filter to extract the clean juice.
If you chose to use poppy seeds: Dry roast and grind poppy seeds to a fine paste. First powder the seeds finely, then add water and make a paste else your poppy seeds will remain coarse and you will get it in the mouth while you eat.
If you choose to use grated coconut, grind coconut with ¼ cup of water and extract the milk. Discard the pulp. Take care not to add too much water while grinding.
Heat a heavy bottomed wide pan with oil, add whole spices once you get an aroma, and add curry leaves and sauté.
Add onions and green chilies, fry till they turn golden.
Add ginger garlic paste, sauté for a min.
Place the pieces and fry on a medium high for 3 mins. Flip to the other side carefully and fry for another 3 mins.
Pour tamarind juice all over the pieces. Cover and simmer for 2 to 3 mins.
Add garam masala powder. Adjust the salt and chili powder, if needed. Pour water just enough to partially cover the pieces. Cover and simmer for just 4 to 5 mins on a medium flame.
Add the coconut or poppy seeds paste and tilt the pan slightly to one side and get over the pulusu on to the pieces. Mix the pulusu by leaving the pieces intact. Let it begin to bubble. Cook for few more mins or till it is cooked. Add coriander leaves too. Over cooking can break the pieces. Taste the pulusu to check spicy, tangy and salt. Any adjustments can be done now.
Serve andhra fish pulusu with rice or roti.