1) Wash and clean the fish head and belly.
2) Mix all the ingredients for the marinade and let the meat marinate for 20 minutes.
3) Cut the tofu into bite-sized chunks.
4) Put the water into a big pot and bring to a boil. When it has come up to the boil, turn heat down and keep water hot.
5) In the meantime, in a large saute pan, pan-fry the fish pieces. They don't have to be too brown. This is to add more flavor and also help the fish not to disintegrate too easily in the soup.
6) Remove fish pieces and set aside
7) In the same pan, saute the ginger until slightly browned. Remove ginger.
8) Put the seasonings into the hot water, along with the lemon juice and wine, and add the fish.
9) Bring the water back up to a boil and then turn the heat down to simmer. Cover the pan and simmer for about 20 minutes.
10) Add the tofu, cover again and simmer for another 15 minutes.
11) Ladle the hot soup into a soup bowl, garnish with corinader and lettuce and serve while still hot.