Set a saucepan over a medium heat and melt the butter.
Stir in the onion, leek and garlic. Reduce the heat, cover and leave to sweat for five minutes. Remove the pan from the heat and add the wine. Return the pan to the heat and cook for a further 3–4 minutes.
Run a sharp knife down the sides of the corn to remove the kernels and add them to the saucepan, along with the potatoes. Stir and leave to cook for three minutes.
Pour in the stock and milk, bring to the boil. Reduce the heat and simmer for 10 minutes.
Stir in the haddock and continue to cook for five minutes. Add the cream, fresh dill and season to taste with salt and pepper. Cook for a further five minutes.