Brown the Beef: Start by heating oil in a large pot over medium heat. Add the beef in batches so it browns evenly. Stir often and cook until each piece shows a deep brown color. Remove the beef and set it aside. This step builds strong flavor for the filling.
Build the Filling Base: Add chopped onion to the same pot and cook until soft and lightly golden. Stir in garlic and cook briefly until fragrant. Sprinkle flour over the onions and stir well. This thickens the gravy later and gives the filling body.
Simmer the Filling: Return the beef to the pot. Pour in beef stock, tomato paste, Worcestershire sauce, thyme, salt, and pepper. Stir well, then lower the heat and let it simmer gently for about 90 minutes. Stir now and then until the beef turns tender and the sauce thickens.
Make the Shortcrust Pastry: Place flour and salt in a bowl. Add cold butter and rub it into the flour with your fingers until it looks like breadcrumbs. Add cold water a little at a time, mixing until the dough comes together. Wrap and chill for 30 minutes.
Assemble the Pie: Heat the oven to 400°F. Roll out two thirds of the pastry and line a pie dish. Spoon in the cooled steak filling. Roll out the remaining pastry and place it on top. Seal the edges, cut a small slit on top, and brush with beaten egg.
Bake Until Golden: Bake the pie for about 35 to 40 minutes until the pastry turns golden and crisp. Let it rest for 10 minutes before slicing so the filling sets nicely.