Spicy Thai fish soup

Some like it hot: Spicy fish soup.
Some like it hot: Spicy fish soup. Photo: Mark Roper

Winter is the perfect time of year to indulge in a bowl of nourishing soup or broth. At home we make a large stock that keeps us going all week. Sometimes it's chicken, other times beef and sometimes fish. We freeze it into 1-litre jars so we can pull it out before we go to work. When we get home we just add our favourite protein, vegetables, herbs and spice, and dinner can be on the table in less than 20 minutes.


1kg snapper fillets or other firm white fish, skin on and cut into large pieces

2 tbsp lime juice

1.3 litres fish stock or water (check gluten-free if required)

3 lemongrass stalks (see method)

6 kaffir lime leaves

3 vine-ripened tomatoes, cut into 6 pieces

2 tsp tamarind puree

1 tbsp palm sugar or coconut sugar

350g sweet potato, peeled and diced into 2.5cm pieces

1/2 bunch Chinese broccoli, roughly chopped

sea salt and freshly cracked white pepper

fresh coriander leaves, to serve

Spice paste

2 tsp coriander seeds, toasted and crushed

2 red shallots, roughly chopped

4 long red chillies, deseeded and roughly chopped

1/2 chilli, deseeded and roughly chopped

2 lemongrass stalks (white part only) roughly chopped

2 tbsp finely grated galangal

1 tbsp chopped fresh turmeric or 1 tsp ground turmeric

2 tbsp chopped coriander root

3 tsp finely grated ginger

1/2 tsp shrimp paste


1. Place the fish pieces in a bowl and coat them evenly with the lime juice and two teaspoons of fine sea salt. Leave to marinate for 30 minutes, covered, in the refrigerator.

2. To make the spice paste, place all the spice paste ingredients in a food processor and blend with 1/4 cup of water until a smooth paste forms. Add a little more water if needed. Set aside.

3. Pour the fish stock into a large saucepan and bring to the boil, then add the spice paste.

4. Using the back of a knife, roughly bruise the lemongrass stalks and tie the stalks into a single knotted loop, then add to the stock. Next, add the sweet potato and lime leaves and bring to the boil. Simmer for 15 minutes. Add the Chinese broccoli and simmer for a further five minutes or until the broccoli is almost tender, then add the marinated fish and any juices from the bowl, tomatoes, tamarind and palm or coconut sugar.

5. Reduce the heat to low and gently simmer for six to eight minutes, or until the fish is just cooked through. Season with salt and freshly cracked white pepper to taste.

6. Ladle the spicy fish soup into bowls and garnish with fresh coriander.