Trim any large bits of fat from the beef and dice into very small chunks, approx 1/2" x 1/2" (1.3cm x 1.3cm). Season all over with 1 tsp salt and 1/2 tsp black pepper.
Add 1 tbsp oil to a large pot over high heat and place in half of the beef. Sear until lightly browned, then remove and add in the second batch, pouring out any water/moisture that may develop. Brown the second batch and remove, then lower heat to medium and add 2 tbsp oil. Add in the onion & garlic and fry until soft and just starting to pick up colour.
Stir in 3 tbsp flour, then pour in 1/2 cup wine. Whisk until it thickens into a paste, then gradually add in the beef stock, whisking as you go to ensure no lumps form. Once all the stock is added, stir in Worcestershire sauce, tomato puree and the Oxo cube. Add the beef back in and bring to a simmer. Reduce heat to low and allow to gently bubble away for around 80mins with the lid OFF, stirring occasionally to prevent a skin from forming on top of the beef and around the pot. The beef should be tender and the gravy should be very thick (see video below for reference). Check for seasoning and adjust with salt and pepper if desired. Remove beef to a side bowl and leave to cool to room temp (gravy will thicken slightly more as it cools).
Roll out the pastry sheets and divide them into 4 even-sized rectangles (the half sheet in 2 rectangles, 10 rectangles in total). Add a few tbsp of the beef to one side of each rectangle, then brush around the edge with egg wash. Fold over the pastry to cover the filling then push around the edges to secure. Use a fork to press around the outside of each one, then clean up with a knife. Brush with egg wash then slice a few times in the top to create a few steam holes.
Place on a greaseproof baking tray (or use parchment paper) and bake in the oven at 200C/390F for 15-20mins, or until deep golden and visibly crisp with the gravy starting to leak out.
Leave to cool for a few mins so you don't lose the roof of your mouth, then tuck in and enjoy!