01 - Set oven temperature to 400°F (200°C).
02 - Place potatoes in a large pot of salted water. Bring to a boil, then reduce heat and simmer for 15 to 20 minutes until tender when pierced with a fork.
03 - Heat olive oil in a large skillet over medium heat. Add onion, carrots, and celery and cook, stirring, for 5 minutes until softened.
04 - Add minced garlic to the skillet and cook for 1 minute. Add ground beef, breaking it apart with a spoon, and cook until browned and no longer pink.
05 - Drain excess fat if necessary. Stir in tomato paste, dried thyme, dried rosemary, and flour. Cook for 2 minutes to blend flavors.
06 - Pour in Worcestershire sauce and beef broth. Reduce heat and simmer for 5 to 7 minutes until the mixture thickens slightly.
07 - Stir in frozen peas and season with salt and freshly ground black pepper. Remove from heat.
08 - Drain potatoes thoroughly and return them to the pot. Mash with butter and warmed milk until smooth. Season with salt and pepper to taste.
09 - In a 9x13 inch baking dish, evenly spread the beef filling. Top with mashed potatoes, smoothing the surface evenly.
10 - Use a fork to create ridges on the mashed potato surface to promote browning.
11 - Bake in the preheated oven for 25 to 30 minutes until the topping is golden and the filling is bubbling.
12 - Allow the dish to rest for 10 minutes before serving to let the filling settle.