Preheat oven to 400°F (200°C).
Boil potatoes in salted water until fork-tender. Drain and mash with butter, milk, and salt. Set aside.
Heat olive oil in a skillet over medium heat. Add onion and cook until soft.
Add garlic and cook for 30 seconds.
Add ground meat and cook until browned.
Stir in carrots, tomato paste, Worcestershire sauce, and beef broth.
Simmer for 10–15 minutes until thickened. Stir in peas and season.
Transfer meat mixture to a baking dish.
Spread mashed potatoes evenly on top.
Bake for 20–25 minutes until lightly golden.
Let rest 5 minutes before serving.