01 - Preheat oven to 400°F.
02 - Place potatoes in a large pot of salted water and boil until fork-tender, about 15-20 minutes. Drain thoroughly and return to the pot. Mash with butter and milk, adding more milk if needed for desired consistency. Season with salt and pepper. Set aside.
03 - While potatoes cook, heat olive oil in a large skillet over medium heat. Add onion and carrots, sautéing until softened, about 5 minutes.
04 - Stir in garlic and cook for 1 minute until fragrant. Add ground beef, breaking it up with a wooden spoon. Cook until browned and no longer pink, about 8 minutes.
05 - Add tomato paste, Worcestershire sauce, thyme, and rosemary. Stir well to combine and coat the meat evenly.
06 - Pour in beef broth and bring to a simmer. Cook until slightly thickened, about 5 minutes. Stir in frozen peas and corn. Season with salt and pepper to taste.
07 - Transfer beef mixture to a 9x13-inch baking dish. Spread mashed potatoes evenly over the filling. Use a fork to create ridges on the surface for better browning.
08 - Bake for 25 minutes until the top is lightly golden and the filling is bubbling around the edges.
09 - For a crispier potato topping, switch to broil and cook for 2-3 minutes, watching closely to prevent burning.
10 - Let the shepherd's pie rest for 5 minutes before serving to allow the layers to set. Garnish with chopped fresh parsley if desired.