Sauté onion and garlic in a large pan with vegetable oil until tender then add the beef and brown all over. Stir in the flour and cook for 2 - 3 minutes, then gradually stir in the stock, tomato purée, potatoes and Worcestershire sauce. Bring to the boil then simmer for approximately 20 minutes until the potatoes are cooked, stirring frequently, season to taste. Allow to cool.
Preheat oven to 200°C.
Roll out just over half the pastry and use to line a pie dish allowing any excess to hang over edges. Place the cooled meat mixture in the dish and spread evenly over the pastry.
Roll out remaining pastry large enough to cover the pie, and brush borders with beaten egg.
Add the pie lid to the base pressing edges firmly together all round. Trim off edges with a sharp knife. Make a small hole in the top of the pie to allow the steam to escape.
Brush top with beaten egg and bake for 30 minutes or until pastry is golden brown.