Place the potatoes in a large pan of cold water and bring to the boil. Cook for 8 minutes until parboiled. Drain, and rinse with cold water. Set aside to cool.
Melt the butter in a large pan over a low heat.
Add the leeks, garlic and a pinch of salt and pepper and sweat for a couple of mins until soft.
Add the peas, stir through and set aside to cool.
To make the sauce
Put the milk, butter and flour in a pan.
Whisk over a low heat until it thickens.
Taste to make sure the flour has cooked out, then add the Primula and whisk through. It will melt easily into the sauce.
Season if necessary and set aside to cool.
To bring it all together
Preheat the oven to 200C (180C fan, 400F). Grease a high-sided, medium-sized roasting tray, not larger than your puff pastry sheet. Make sure it’s a tray with a lip for the pastry to sit on.
Tip the cooled veggies into the tray.
Pour the cooled cheese sauce over the veggies.
Unroll your sheet of puff pastry and lay on top of your roasting tray.
Press a fork around the edges to seal. I find dipped the fork in a little flour helps it to press without sticking.
Trim the edges with a sharp knife.
If you like, you can use your pastry offcuts to create a pattern on top of your pastry lid.
Beat the egg with a splash of cold water to create an egg wash, then brush all over the pastry. Make a little hole in the centre of the pie to allow steam to escape.
Place the tray in the oven and bake for 25-30 mins until golden.
The beauty of this recipe is that you can use up any veg you have lingering in the refrigerator. For example, you could try using shallots instead of leeks, swede instead of new potatoes, and edamame instead of peas!