Place the cubed potatoes in a large pot, cover with water, and bring to a boil. Cook until tender, then drain and return to the pot.
Add 2 tablespoons butter and the milk to the potatoes. Mash until smooth, season with salt and pepper, and set aside.
Heat the remaining 2 tablespoons butter in a large skillet over medium heat. Add the onion and carrots and cook until softened.
Stir in the garlic and cook for one minute. Add the ground beef and cook until browned, breaking it up as it cooks.
Mix in the tomato paste, then pour in the beef broth and Worcestershire sauce. Simmer until the liquid reduces slightly.
Stir in the frozen peas and season with salt and pepper. Remove from heat.
Preheat the oven to 400 degrees. Spread the beef mixture in a baking dish and spoon the mashed potatoes over the top, smoothing the surface.
Bake for 20 minutes until the potato topping starts to brown. Let rest a few minutes before serving.