Gather the ingredients.
Put the milk, parsley stalks, bay leaf, and haddock into a large, roomy saucepan.
Finely chop the parsley leaves and keep to one side.
Bring the milk to a gentle boil and simmer for 3 minutes.
Remove the pan from the heat and leave for 5 minutes for the herbs to infuse their flavour into the milk.
Remove the haddock from the milk with a slotted spatula and put to one side.
Strain the liquid through a fine sieve and reserve the herb-infused milk.
In another, smaller saucepan, melt the butter and add the chopped onion. Cook gently until translucent, about 5 minutes. Be careful not to burn the onion.
Add the milk and the mashed potato to the onion and stir well until the mixture has a thick and creamy consistency.
Flake the smoked haddock into meaty chunks, removing any bones you may find. Add the fish to the soup.
Add the chopped parsley leaves to the soup and bring to a gentle simmer. Cook the soup for an additional 5 minutes. Don't over stir, because the fish chunks might disintegrate.
Taste the soup and add salt and pepper as needed. Be careful with the salt, as the fish will impart quite a salty flavour all on its own.
Garnish the soup with more chopped parsley or a little extra pepper. Serve hot with crusty bread, if desired.