Peel and cut the potatoes into even chunks. Boil in salted water until fork-tender, about 15 minutes. Drain well.
Mash the hot potatoes until smooth. Add cream, 4 tbsp butter, Parmesan, salt, and pepper. Stir in the egg and set aside.
Heat a large skillet over medium heat. Add ground meat and cook until browned, breaking it up as it cooks.
Add chopped onion and cook for 3 minutes until soft. Stir in garlic and cook for 30 seconds.
Sprinkle flour over the meat mixture and stir for 1 minute.
Pour in broth, then add Worcestershire sauce and tomato paste. Stir well.
Add frozen vegetables and simmer until thick and saucy, about 8–10 minutes.
Spread the meat filling evenly into a deep baking dish.
Spoon mashed potatoes over the filling and spread evenly. Create swirls if desired.
Dot the top with remaining butter.
Bake uncovered at 400°F (205°C) for 30 minutes, until bubbly and lightly golden.
Let rest for 10–15 minutes before serving.