Put the potatoes in a large pan of cold salted water and bring to the boil.
Lower the heat, cover, then simmer gently for 15 minutes until tender.
Drain, then return to the pan over a low heat for 30 seconds to drive off any excess water.
Mash with 1 tbsp olive oil, then season.
Meanwhile put the milk in a large sauté pan, add the fish and bring to the boil.
Remove from the heat, cover and stand for 3 minutes.
Remove the fish (reserving the milk) and pat dry with kitchen paper, then gently flake into an ovenproof dish, discarding the skin and any bones.
Heat the remaining oil in a pan, stir in the flour and cook for 30 seconds.
Gradually stir in 200-250ml of the reserved milk (discard the rest).
Grate in nutmeg, season, then bubble until thick.
Stir in the cream.
Preheat the oven to 190°C/fan170°C/gas 5.
Grate the artichokes and add to the dish with the leek, prawns and herbs.
Stir the lemon zest and juice into the sauce, then pour over.
Mix gently with a wooden spoon.
Spoon the mash onto the fish mixture, then use a fork to make peaks, which will crisp and brown as it cooks.
Sprinkle over the cheese, then bake for 35-40 minutes until golden and bubbling.
Serve with wilted greens.