Put the fish, onion, garlic and water into a saucepan.
Bring to the boil, cover and simmer for about 15 - 20 minutes until the fish is tender.
Remove the fish from the pan. Strip off the skin and remove any bones. Flake the fish finely.
Return the skin and bones to the cooking liquor and simmer for 10 minutes.
Strain, discarding the skin and bones, and pour the liquor into a clean saucepan.
Add the milk, flaked fish and seasoning to the pan, bring to the boil and simmer about 3 minutes.
Gradually whisk in sufficient mashed potato to give a fairly thick consistency, then stir in the butter and sharpen to taste with lemon juice.
Add the cream and 3 tablespoons of the chopped parsley.
Reheat gently and adjust the seasoning.
Sprinkle with the remaining parsley and serve.