Preheat the oven to 400F.
Add the potatoes to a pot and cover with water. Add salt, bring to a boil, and then lower to a simmer. Cook until the potatoes can be stabbed with a fork, approximately 20 minutes.
Melt 4 Tbsp butter in a skillet and add onions and garlic. Sautee until translucent approximately 8-10 minutes. Add carrots first, approximately 2 minutes after the onion and garlic. Add peas and corn after 6 minutes of cooking.
Add the ground meat and cook until brown, using a wooden spoon to break up the meat. Add broth, Worcester sauce, and tomato paste, stirring well to combine everything. Reduce heat to low and simmer for 8-10 minutes, topping off with broth if needed to keep the mixture moist. Add salt and pepper to taste.
Once the potatoes have finished cooking, add them to a bowl with the remaining butter and mash with a fork or potato masher. Add parmesan cheese. If the mixture is very dense, add 1/2 and 1/2 slowly to make the potatoes spreadable.
Spread the meat mixture on the base of the casserole dish. Layer the potatoes on top. Don’t worry about an even top as the peaks of the potatoes will brown and be crunchy and delicious.
Place in the oven and bake for 30 minutes. If desired and using an appropriate dish, broil at the end to achieve a golden brown crust on the potatoes.
Remove from oven and enjoy. This will reheat well the next day as leftovers.