01 - Preheat the oven to 400°F.
02 - In a large skillet over medium heat, heat the olive oil. Add onion and carrots, sauté for 5 minutes until softened. Stir in garlic and cook for 1 minute.
03 - Increase heat to medium-high, add ground beef, and cook until browned, breaking up with a spoon. Drain excess fat if necessary.
04 - Stir in tomato paste and Worcestershire sauce; cook for 2 minutes. Add beef broth, thyme, rosemary, bay leaf, salt, and pepper. Bring to a simmer, reduce heat, and cook for 15 minutes, stirring occasionally.
05 - Remove bay leaf, stir in frozen peas, and cook for 2 minutes. Remove from heat.
06 - Meanwhile, boil potatoes in salted water until fork-tender, about 15–18 minutes. Drain and return to pot.
07 - Mash the potatoes with butter and milk until smooth. Season with salt and white pepper. For a golden top, mix in the egg yolk.
08 - Spoon the beef mixture into a large baking dish (about 9x13 in). Spread the mashed potatoes evenly over the top and use a fork to create ridges.
09 - Bake for 25–30 minutes, or until the top is lightly golden and filling is bubbling.
10 - Let rest for 10 minutes before serving.