Place the cubed potatoes in a pot of salted water and bring to a boil. Cook until fork-tender, then drain.
Return the potatoes to the pot. Add the milk, 2 tablespoons of the butter, and a pinch of salt. Mash until smooth and creamy. Set aside.
Preheat the oven to 400°F. Heat the remaining 2 tablespoons of butter in a large skillet over medium heat.
Add the ground beef, onion, carrots, and garlic. Cook, breaking up the beef, until the meat is browned and the vegetables soften.
Stir in the tomato paste, beef broth, Worcestershire sauce, frozen peas, and a pinch of salt and pepper. Simmer for 5 minutes until the mixture thickens slightly.
Transfer the beef mixture to a baking dish. Spread the mashed potatoes evenly over the top.
Bake for 20 minutes until the topping is lightly golden. Let rest for a few minutes before serving.