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