01 - Set the oven temperature to 350°F.
02 - Heat 1 tbsp olive oil in a large, heavy-based pan over medium-high heat. Brown the beef in batches, then transfer to a plate.
03 - Add the remaining olive oil; cook onion, carrots, and celery for 5 minutes until softened.
04 - Stir in garlic and cook for 1 minute. Add tomato paste and flour, cooking for 2 minutes while stirring constantly.
05 - Gradually pour in beef stock, scraping browned bits from the pan. Stir in Worcestershire sauce, thyme, rosemary, bay leaves, and return beef. Season with salt and pepper.
06 - Bring to a simmer, cover, and cook gently for 1.5 hours, stirring occasionally, until beef is tender and gravy thickens. Remove bay leaves and cool filling.
07 - Spoon the filling into a 1.5-quart pie dish.
08 - Roll pastry to fit the dish top. Cover filling, trim excess, seal edges by crimping, and cut a small steam vent in the center.
09 - Brush the pastry with beaten egg and bake for 30–35 minutes until golden and crisp.
10 - Allow pie to rest for 5 minutes before serving.