Preheat oven to 200°C (400°F).
Heat olive oil in a large pan over medium-high heat and brown the beef cubes on all sides, then remove and set aside.
In the same pan, melt butter and sauté the onion, carrots, and potatoes for 7 minutes until slightly softened.
Add garlic and cook for 1 minute, then stir in the flour and cook for 2 minutes while stirring constantly to form a roux.
Slowly whisk in the beef stock and heavy cream, ensuring no lumps form, and bring to a simmer.
Return the beef to the pan, add peas, thyme, rosemary, salt, and pepper, then simmer for 10 minutes until the sauce thickens.
Transfer the mixture into a 9-inch deep-dish baking vessel.
Lay the puff pastry over the filling, crimp the edges to seal, and cut two small slits in the center for steam release.
Brush the pastry surface with the beaten egg wash.
Bake for 25 to 30 minutes until the pastry is golden brown and the filling is bubbling.