Preheat oven to 180°C. Cut beef into 2.5cm-3cm cubes. Season, add 2 tbsp oil, and mix well. Heat a large frypan over a medium-high heat. Brown the beef in batches. Remove each batch and place in casserole dish. Reduce heat in the pan, add a little oil, add onion and mushrooms, cook for 1–2 minutes, and stir occasionally.
Sprinkle in the flour and stir until the onion and mushrooms are coated. Gradually pour in stock and add the tomato paste, stirring well. Add the herbs, stir until the mixture boils. Add to the casserole dish, stir to combine. Cover the casserole dish, place in oven, and cook until the beef is very tender. Stir every 40 minutes or so, add water if needed to keep the ingredients just covered. Cool the beef mixture, at least until the steam has evaporated, or cool it completely if time allows.
Preheat the oven to 200°C. Place the cooled beef mixture into the pie dish. Beat an egg and a little milk together (egg wash). Make sure your pastry is a little larger that your pie dish so it will sit comfortably over the top. Cut a ribbon of pastry from the edge of the rolled out pastry and press it around the rim of the pie dish. Carefully roll the pastry onto the rolling pin and ease the pastry onto the pie dish.
Trim any overhang; seal the edge by crimping the pastry together. Make a small slash over the top of pastry (for steam to escape). Brush it with the egg wash. Decorate the top with the pastry trimmings if you like. Cook for 40-45 minutes, or until pastry is golden brown and beef mixture is bubbling.
Pastry tips: Overlap the puff pastry sheets so they fit to a size that will cover the top of the pie dish. Carefully lift the pastry over the top and then press to edge of dish. Trim any overhang, being careful not to drag the knife around the edge.
Beef casserole cuts and approximate cooking times: Chuck or boneless shin/gravy beef - 2 to 2½ hours; Topside, round, blade - 1 to 1½ hours