Preheat the oven to 180C/350F/Gas 4 and place a baking tray in the oven to heat through.
For the pastry, place the butter and lard into a large bowl with the flour and salt. Gently rub the fat into the flour using finger tips until the texture resembles very coarse breadcrumbs. Alternatively use a food processor to bind the fat and flour.
Add 2-3 tbsp ice cold water to bind the mixture. Lightly knead the dough until well amalgamated, dust with flour and place into a sealable plastic bag. Chill in the fridge for 30 minutes before using. If you are in a rush, you can use the dough straightaway.
For the filling, heat the butter in a saucepan and fry the onions for 10 minutes, without colouring. Stir in 150ml/5fl oz water, salt and freshly ground black pepper and cook until almost all the liquid has evaporated. Remove the onions, spread out onto a plate and set aside to cool.
Roll out two-thirds of the pastry until it is about 0.5cm/¼in thick and line a greased 20cm/8in loose-bottomed tart tin, leaving any excess pastry overhanging the edge.
Now roll out the remaining pastry to a similar thickness which will also be generously wide enough to use as a lid to the pie. Cover the base of the pie with half of the onions and then cover with half the grated cheese.
Repeat the layering process in step 6 until all the mixture is used up.
Roll out the remaining pastry to make a lid for the pie. Brush the edges of the pastry case with milk to seal the pastry lid upon it, while also pressing the edges together lightly before trimming off any excess overhang. Brush the surface of the pie with milk. Make three small incisions into the centre of the pie using the point of a sharp knife and, if you wish, further decorate to make a lattice effect.
Place the pie into the oven and bake for 40-50 minutes, or until golden-brown. Remove from the oven and leave for a good 20-30 minutes before un-moulding and cutting into generous wedges.
Serve the pie warm or at room temperature (not piping hot).