Add the oil to a large saucepan and sauté the onions for about 5 minutes, then add the beef mince and cook for a further 5 minutes until the meat is browned. You can drain off any excess fat if you so wish.
Add the beef stock and the peas, and stir. Bring to the boil then reduce to simmer for about 10 minutes to reduce the stock. If you find the filling to be too watery from the stock, cook for longer to reduce, or you can cheat a bit (and beef up the flavour!) by adding some gravy granules and stirring to thicken. Taste for seasoning, and add salt and pepper if desired (shop bought stock and gravy granules may be salty enough)
Meanwhile, cook the potatoes in boiling water for about 20 minutes or until soft. Drain and allow to steam for about 10 minutes.
Preheat oven to 200C/400F/Gas 6
Mash the potatoes with the butter and season with salt and pepper to taste.
Pour the filling into an ovenproof dish and spread evenly.
Spoon the mashed potato on top and carefully spread it over the filling in an even layer. You can drag a fork through the topping to make a pattern if you wish.
Cook in the preheated oven for about 20 minutes or until the potato topping is golden.