23cm (9in) cake tin with sides at least 4cm (1½in) high
Preheat the oven to 230℃ \(450℉\) gas mark 8. Grease the base and sides of the tin, then dust lightly with flour. To make the filling, put the butter, cardamom, and lemon zest in a large bowl and cream with a wooden spoon until soft, or use an electric beater on slow or a food processor. Add the sugar and beat until the mixture is light and fluffy. Stir in the nuts, then set aside at room temperature.
Sift the flour, baking powder and cardamom into a large bowl. Add the sugar and butter, then run the butter into the dry ingredients using your fingertips until the mixture resembles breadcrumbs.
Whisk the egg and milk together in a separate bowl, then make a well in the centre of the dry ingredients and pour in most of the liquid, reserving about 60ml (2fl oz). Using one hand with your fingers outstretched like a claw, mix the dough by moving it around in one direction until it comes together. You might need to add the remaining milk, as the dough should be soft and a little sticky.
Tip the dough out on to a floured work surface and dust with flour. Using a rolling pin, roll out the dough to 35 x 25cm (14 x10in) rectangle. Spread the filling over the rectangle then, with the widest end facing away from you, roll up the dough away from you so that it resembles a Swiss roll.
Cut the roll to make 12 slices, each 3cm \(1¼in\) thick. Put the pieces cut\-side up in the prepared cake tin, leave a tiny bit of space between each swirl. Bake for 10 minutes, then reduce the oven temperature to 200℃ \(400℉\) gas mark 6 and cook for a further 25\-35 minutes until risen, golden brown and cooked in the centre. The buns should have joined together to make a lovely cluster.
Leave to rest for 3 minutes before carefully turning out on a wire rack to cool. While still warm, brush the honey over the top and decorate with the toasted pistachio nuts. To serve, break off each bun.