Prepare fish and keep aside until needed.
Combine the tamarind paste and warm water together. Remove any pits if need be.
Heat oil in a large saucepan over low to medium heat.
Fry onions, curry leaves and chillies until soft and fragrant.
Add in the cloves and fry for 30 seconds.
Add in the whole and fine spices.
Stir to mix well and allow to braise for 1 minute.
Mix in the tomato paste, then add in the diced tomatoes and salt and sugar.
Combine and allow this mixture to cook until the oil rises to the top.
Stir and slowly pour in the tamarind water.
Allow this mixture to simmer for 2-3 minutes before slowly adding in the fish pieces.
Do not let the fish overlap each other.
Cover the fish with the sauce/gravy and let this simmer for 10-12 minutes depending on the thickness and time it takes the fish to cook through.
Garnish with chopped coriander and serve hot with fluffy rice and/or fresh bread.