Prep the pastry: Keep pastry in the fridge until needed so it stays cold.
Preheat the oven to 400°F (200°C). Line a baking sheet with parchment.
Cook the aromatics: Heat oil or butter in a large skillet over medium heat. Add onion and carrot with a pinch of salt.
Cook 5–6 minutes until soft and lightly golden. Stir in garlic and cook 30 seconds.
Brown the beef: Add minced beef. Cook, breaking it up, until browned with no pink remaining, about 5–7 minutes.
Spoon off excess fat if needed.
Season and build flavor: Stir in tomato paste and cook 1 minute. Add HP Sauce, Worcestershire, thyme, and beef stock. Season with salt and pepper.
Thicken the filling: Simmer 5–8 minutes until slightly reduced and glossy.
If it looks loose, sprinkle in flour and cook 1–2 minutes more. The mixture should be moist but not runny.
Add peas and cool: Stir in peas. Transfer filling to a tray to cool quickly. Cool to room temperature so it doesn’t melt the pastry.
Cut the pastry: On a lightly floured surface, roll pastry to about 1/8 inch (3 mm).
Cut into 4–6 inch rounds or rectangles. Re-roll scraps once if needed.
Fill and seal: Brush edges with beaten egg. Spoon 2–3 tablespoons of filling onto each piece.
Fold over to form a half-moon or rectangle. Press edges to seal, then crimp with a fork.
Vent and glaze: Place on the lined tray. Cut a small slit on top for steam.
Brush with egg wash. For extra flake, chill 10–15 minutes before baking.
Bake: Bake 20–25 minutes until deeply golden and puffed. If they brown too fast, lower heat to 375°F (190°C) for the last few minutes.
Rest and serve: Let sit 5 minutes before eating so the filling settles.
Serve with extra HP Sauce on the side.