1. Place the haddock in a pot with 1 litre water. Bring to boil. Add the onion, cover and simmer until the fish is cooked, about 15 minutes.
2. Remove the haddock. If you've used a fresh fish, remove the skin and bones and add these to the water to make a stock. Flake the fish and reserve.
3. Simmer the stock for 30 minutes then strain.
4. Meanwhile, boil the potatoes in salted water, drain and mash to desired consistency (some prefer their soup creamy, others more lumpy).
5. To the stock, add the flaked fish and the milk. Bring to the boil and add enough mashed potato to thicken the soup to your preferred consistency.
6. Finally, stir in the butter and, if desired, a little cream. Season to taste. Serve garnished with the parsley.