Preheat the oven to 400°F. Place the potatoes in a large pot, cover with water, and boil until fork-tender, about 15 minutes. Drain and return them to the pot.
Add 2 tablespoons butter and the milk to the potatoes. Mash until smooth, then season with salt and pepper. Set aside.
While the potatoes cook, heat a large skillet over medium heat. Add the ground beef and cook until browned, breaking it up with a spoon.
Stir in the onion, carrots, and garlic. Cook for 5 minutes until the vegetables soften.
Pour in the beef broth, Worcestershire sauce, and thyme. Simmer for 8 minutes until the liquid reduces slightly. Stir in the garden peas and cook 2 minutes more. Season with salt and pepper.
Transfer the beef mixture to a baking dish. Spread the mashed potatoes evenly over the top. Dot with the remaining 2 tablespoons butter.
Bake for 20 minutes until the topping turns lightly golden. Let it rest 5 minutes before serving.