01 - Set oven temperature to 400°F.
02 - Heat olive oil in a large skillet over medium heat. Add onion, carrots, and celery; sauté for 6–8 minutes until softened.
03 - Add minced garlic and cook for one minute. Incorporate ground beef, breaking up clumps, and cook until browned.
04 - Stir in tomato paste and flour; cook for two minutes to develop flavor.
05 - Gradually pour in beef stock while stirring. Add Worcestershire sauce, thyme, rosemary, and bay leaf. Bring to a gentle simmer.
06 - Reduce heat and simmer uncovered for 20 minutes, stirring occasionally until thickened. Remove bay leaf, stir in peas, and season with salt and black pepper. Remove from heat.
07 - Place cubed potatoes in a large saucepan, cover with cold salted water, and bring to a boil. Simmer 15–20 minutes until tender.
08 - Drain potatoes, return to pot, add butter and warmed milk, then mash until smooth and fluffy. Season with salt and white pepper. Stir in egg yolk if using.
09 - Spread beef filling evenly in a large baking dish. Top with mashed potatoes, roughening the surface with a fork for texture.
10 - Place baking dish on a tray and bake at 400°F for 25–30 minutes until the top is golden and filling bubbles at the edges.
11 - Allow the dish to rest for 10 minutes before serving to let flavors settle.