Grease a 1L ceramic pudding basin with butter, line the base with a small disc of baking parchment, then spoon the marmalade on top.
Sprinkle the ground almonds into a frying pan and place over a low heat. Allow them to toast until golden brown with a nutty smell – stir continuously, as after a few minutes they will suddenly turn. Pour into a bowl and set aside.
In a large bowl, beat together the butter and sugar using an electric hand mixer until pale and fluffy, about 5 minutes. Beat in the eggs 1 at a time, then add the almond extract.
Add the flour, baking powder and toasted ground almonds into the mixture and gently beat again until just combined. Stir in the milk until well combined.
Dollop the batter on top of the marmalade – it should come to around ¾ full. Cut a square of foil large enough to cover the top of the basin with excess, plus a square of baking parchment the same size. With the paper and foil together, fold a pleat across the centre – this allows the pudding to expand as it cooks. Once you’ve filled the pudding basin, secure the foiled parchment tightly (paper-side down) over the basin by tying with string. Create a string handle so it can lift it in and out easily.
To steam the pudding, put a trivet or upturned heatproof saucer into the base of a large, deep saucepan. Lower in the prepared pudding and add enough boiling water to come halfway up the basin sides. Cover the pan with a tight-fitting lid, bring to the boil, then simmer gently for 1 hour 30 minutes-2 hours, until the mix has risen in the middle and a skewer inserted into the middle comes out clean. Top up the water as necessary.
When the pudding is ready, carefully lift out of the pan and remove the string, foil and paper. Let it settle for a few minutes, then carefully turn out onto a plate. Lift away the basin and parchment circle, then serve in slices with custard, cream or ice cream, if liked.
