01 - Set oven to 400°F (200°C) and allow it to reach temperature.
02 - Boil peeled and cubed potatoes in salted water until fork tender, about 15 minutes; drain thoroughly.
03 - Combine hot potatoes with butter, warmed milk, salt, and pepper; mash until smooth and creamy. Set aside.
04 - Heat olive oil in a large skillet over medium heat and cook onions until softened, approximately 3 to 4 minutes. Add garlic and cook for 1 more minute.
05 - Add ground beef to skillet, breaking it up and cooking until browned; drain excess fat as necessary.
06 - Stir in tomato paste and flour; cook for 1 minute. Slowly add beef broth, Worcestershire sauce, thyme, and rosemary, stirring to combine.
07 - Allow the mixture to simmer for 5 minutes until slightly thickened. Stir in peas and carrots, then season with salt and pepper. Remove from heat.
08 - Transfer beef mixture evenly into a 9x13-inch baking dish. Spread mashed potatoes over top, smoothing with a spatula and optionally creating ridges with a fork.
09 - Place assembled dish in oven and bake for 20 minutes until the mashed potato topping is golden and the filling is bubbling.
10 - Remove from oven and let stand for 5 minutes before serving.