Boil the peeled and cubed potatoes in a large pot of salted water until fork-tender, about 15 minutes. Drain and return to the pot.
Mash the potatoes with the butter and milk until smooth and creamy. Season with salt and pepper to taste, then set aside.
Preheat the oven to 400°F (200°C).
In a large skillet over medium-high heat, brown the ground beef with the diced onion until the beef is fully cooked. Drain any excess grease.
Stir in the minced garlic and cook for 1 minute until fragrant. Sprinkle the all-purpose flour over the beef mixture and stir well to combine.
Mix in the tomato paste, beef broth, Worcestershire sauce, and frozen mixed vegetables. Simmer for 5 to 7 minutes until the gravy thickens.
Transfer the beef and vegetable mixture to a 9x13-inch baking dish, spreading it into an even layer.
Spoon the mashed potatoes over the beef mixture, spreading carefully to completely cover the filling and seal the edges. Use a fork to create decorative ridges on top.
Bake for 20 to 25 minutes until the potatoes are golden brown and the edges are bubbling.
Garnish with chopped fresh parsley before serving. Let the dish cool for 10 minutes before slicing and serving.