Grease the pudding basin with butter.
Spoon the golden syrup for the topping into the base of the pudding basin and set aside.
Place the butter and sugar in the large mixing bowl and beat with the electric hand whisk until light and fluffy.
Add the syrup and lemon zest and whisk for a few minutes more.
Whisk in the eggs, one at a time.
Fold in the flour. You should have a dropping consistency. If it seems a bit stiff add a little milk and beat in.
Spoon the mixture into the pudding basin and smooth the surface.
Place a circular piece of baking paper on top of the pudding.
Make a pleat in a piece of kitchen foil and cover the basin with it, ensuring that the pleat is placed at the centre of the basin. Secure the foil with string tied under the rim of the basin, making sure you create a ‘handle’ with which you can remove the pudding from the hot water.
Place the pudding in the large-lidded saucepan and fill with boiling water two thirds up the sides of the pudding basin. Bring to the boil and reduce the heat to a simmer.
Cover the saucepan and steam for 1 and ¾ hours making sure you check the level of the water and top up from the kettle if necessary.
The pudding is done when a skewer inserted into the centre of the pudding (through the kitchen foil and greaseproof paper) comes out clean. If it doesn't continue steaming for a further 10-15 minutes.
Allow to cool slightly before removing from the hot water and turning out onto a serving dish.
Serve immediately with custard or cream.