Add the smoked haddock to a wide pan. Pour in the milk and water. Heat over medium-low heat until the liquid reaches a very gentle simmer.
Remove the pan from the heat, cover it and leave the haddock to poach for 5 minutes.
Lift the fish onto a plate and reserve all the poaching liquid. Once the haddock is cool enough to handle, remove the skin and any bones. Break the fish into large flakes.
Melt the butter in a large saucepan over medium-low heat. Add the onion and cook for 8 to 10 minutes, stirring occasionally, until soft and translucent. Don’t let it brown.
Add the potatoes and pour in the reserved poaching liquid. Bring to a gentle simmer and cook for 15 to 20 minutes, or until the potatoes are very tender.
Mash about one-third of the potatoes against the side of the pan with a wooden spoon. Leave the remaining potato cubes whole.
Return the flaked haddock to the pan and warm it gently for 3 to 4 minutes.
Add black pepper, then taste the soup before adding any salt.
Stir in the chopped parsley and serve hot.