Steamed Fish with Coconut


Savoury Thai seasonings and coconut milk make this ordinary dish into something memorable. The coconut is the seed of the marvellously versatile and useful coconut palm. Coconut meat and milk, both drawn from the seed, are staples in Thai cuisine; in fact, they are among the most important ingredients in that tradition.

The Chinese would use a black bean sauce, and Western cooks might prefer a butter or white wine sauce. The Thais use coconut milk, in combination with some of their aromatic spices, to produce here a distinctive and delicious sauce that highlights the subtle flavour of the fresh fish.

Like the Chinese, Thais prefer to steam their fresh fish, such gentle cooking being the best way to retain its succulence, subtle flavours and delicate texture. And Thai cooks always lightly score the fish before steaming, thus facilitating the absorption of flavours and aromas.

Read more


  • 2 stalks fresh lemongrass
  • 400 ml (14 fl oz) tinned coconut milk
  • 2 tablespoons coarsely chopped fresh galangal root or ginger
  • 6 fresh kaffir lime leaves or 2 tablespoons lime zest
  • 450 g (1 lb) firm white fish fillets, such as cod, sole or turbot
  • 3 tablespoons finely sliced shallots
  • 3 tablespoons fish sauce or light soy sauce
  • 2 tablespoons lime juice
  • 1 tablespoon sugar


  • 2 teaspoons chilli oil
  • handful fresh coriander leaves


Peel the lemongrass to the tender whitish centre and crush with the flat of a knife. Then cut into 7.5 cm (3 in) pieces. In a large pot, combine the lemongrass, coconut milk, galangal and lime leaves. Cover and simmer for 1 hour. Strain and discard the lemongrass, galangal and lime leaves.

Pat the fish or fish fillets dry with kitchen paper.

Next set up a steamer or put a rack into a wok or deep pan, and fill it with 5 cm (2 in) of water. Bring the water to the boil over a high heat. Put the fish on a deep heatproof plate and pour the coconut mixture on top. Add the shallots, fish sauce, lime juice and sugar. Put the plate of fish into the steamer or onto the rack. Cover the pan tightly and gently steam the fish until it is just cooked. Flat fish will take about 5 minutes to cook. Thicker fish or fillets, such as sea bass, will take 8–12 minutes.

Remove from the steamer, garnish with chilli oil and coriander leaves and serve at once.