Peel and finely chop the galangal, chop the lemon grass into 5 cm pieces, slice the shallots and tear the kaffer leaves in half. Crush the coriander roots. Cut all the chillies in halves and remove seeds if you do not want to eat too spicy
Immerse the tomatoes for 1 minutes in boiling hot water and then rinse them with cold water. Peel them and cut in 6 or 8 pieces each
Place the water and ¾ of the coco nut milk in a large pot and add the chicken powder, the shallots, chillies, tomatoes, coriander roots, galangal, kaffer leaves and lemon grass. Bring to a boil and cook for 5 minutes
Add the juice of 2 limes, the fish sauce, the sugar, the sliced mushrooms, the remainder of the coconut milk, and the cut chicken breast or the tofu; bring back to the boil and simmer for 10 minutes
Then check the taste, add more lime juice if needed and simmer for 2 more minutes
Garnish the soup with fresh coriander leaves.