01 - Preheat the oven to 400°F.
02 - Season the beef cubes with salt and pepper. In a large Dutch oven or deep skillet, heat olive oil over medium-high heat. Brown the beef in batches, removing to a plate as you go.
03 - In the same pot, add the onions, carrots, celery, and mushrooms. Sauté for 5 to 7 minutes until softened. Add garlic and cook for 1 minute.
04 - Stir in butter and let it melt. Sprinkle in flour and cook for 1 to 2 minutes, stirring constantly.
05 - Gradually pour in beef stock, stirring to avoid lumps. Add tomato paste, Worcestershire sauce, thyme, bay leaf, potatoes, and return beef with juices to the pot.
06 - Bring to a simmer, cover, and cook for 45 minutes, stirring occasionally, until beef is tender and the sauce is thick. Remove bay leaf.
07 - Stir in peas and adjust seasoning with salt and pepper.
08 - Transfer the beef mixture to a large baking dish or individual ramekins.
09 - Lay the puff pastry over the top, trimming the edges to fit. Press edges to seal and cut small slits for steam. Brush with beaten egg.
10 - Bake for 25 to 30 minutes, or until the pastry is puffed and golden brown.
11 - Let rest for 10 minutes before serving.