Scale, gut and wash the whole fish. If you can, fillet the fish keeping the head and tail attached whilst removing the spine and bones.
Pound the ginger, garlic, chilli and lemongrass in a pestle and mortar.
Make a loose paste with the tamarind pulp and the water squeezing all the seeds and fibre from the liquid and discard (you can use a sieve for this).
Add the tamarind liquid and the chopped tomato to the mortar and pestle and combine with your hands.
Bring the chicken stock to the boil in a large wok or suitable size pot for your fish. Season with salt and then place the fish into the simmering stock. If the stock covers the fish then cook for 15 minutes at a gentle simmer. If the fish is only half submerged then turn the fish after 7 minutes. Three minutes before the fish is cooked add the tomato mixture and the kaffir lime leaves.
When the fish is cooked transfer the fish to a serving bowl and add the fish sauce.
Serve with the herbs, limes and bean sprouts either in bowls or on the side.