01 - Preheat oven to 400°F.
02 - Season beef cubes with salt and pepper. In a large Dutch oven or heavy-bottomed pot, heat olive oil over medium-high heat. Brown beef in batches, setting aside browned pieces.
03 - In the same pot, reduce heat to medium. Add butter, then sauté onions, carrots, celery, and potatoes for 5 minutes until softened. Add garlic and cook 1 minute more.
04 - Stir in flour and cook for 1 minute. Add tomato paste, mixing well.
05 - Pour in red wine (if using) and deglaze the pot, scraping up any browned bits. Add beef stock, Worcestershire sauce, thyme, and bay leaf. Return beef to the pot.
06 - Bring to a simmer, cover, and cook over low heat for 1 hour, stirring occasionally, until beef is tender.
07 - Discard bay leaf. Stir in peas and cook 2 minutes. Adjust seasoning with salt and pepper.
08 - Transfer beef mixture to a large baking dish (about 2 quarts).
09 - Drape puff pastry over the filling, trimming excess and pressing edges to seal. Cut a few small slits for steam to escape. Brush pastry with beaten egg.
10 - Bake for 25-30 minutes, or until pastry is golden and crisp.
11 - Cool for 10 minutes before serving.