Boil the potatoes: Add the peeled, chunked potatoes to a large pot of salted water.
Bring to a boil and cook until very tender, about 15–18 minutes. Drain well.
Make the mashed potatoes: Return potatoes to the warm pot. Add butter and mash until smooth.
Stir in warm milk or cream, salt, and pepper to taste. For extra richness, whisk in the egg yolk. Set aside.
Preheat the oven: Heat to 400°F (200°C).
Grease a 9x13-inch baking dish or similar casserole.
Sauté the vegetables: In a large skillet, heat oil or butter over medium heat. Add onion, carrots, and celery with a pinch of salt. Cook until softened, 6–8 minutes.
Stir in garlic and cook 1 minute.
Brown the lamb: Add ground lamb to the skillet. Cook, breaking it up with a spoon, until browned and no longer pink, about 6–8 minutes. If there’s excess fat, spoon some off.
Build the sauce: Stir in tomato paste and cook 1 minute to caramelize slightly.
Sprinkle flour over the meat and veggies; stir to coat. Add Worcestershire, thyme, rosemary, bay leaf, and broth. Stir and bring to a simmer.
Simmer and thicken: Reduce heat and cook 5–8 minutes until the mixture thickens and is saucy but not soupy.
Stir in peas. Taste and season with salt and pepper. Remove bay leaf.
Assemble the pie: Spread the meat mixture evenly in the baking dish.
Spoon mashed potatoes over the top in dollops, then smooth gently to the edges to seal. Use a fork to create ridges for extra browning. Sprinkle cheese on top if using.
Bake: Place on a baking sheet to catch drips.
Bake 20–25 minutes, until the top is lightly golden and the filling is bubbling around the edges. For deeper color, broil 1–2 minutes, watching closely.
Rest and serve: Let the shepherd’s pie rest 10 minutes so it sets. Scoop and serve warm.