Start by placing the peeled and diced Yukon Gold potatoes in a large pot. Fill it with cold water just enough to cover the potatoes. Add a teaspoon of salt. Bring the mixture to a boil over medium-high heat. Cook for around 15-20 minutes, or until the potatoes are fork-tender. Drain and return the potatoes to the warm pot. Add the butter, milk, and Parmesan. Mash until smooth and creamy. Season with salt, pepper, and if you desire, the sour cream.
While the potatoes are cooking, heat the butter in a large skillet over medium heat. Add the diced onions and sauté for about 5 minutes until translucent. Next, stir in the minced garlic. After a minute, add the ground beef. Cook until browned, breaking it apart with your spatula.
Once the beef is browned, toss in the mushrooms, carrots, and zucchini. Cook for about 5-7 minutes, stirring occasionally until the veggies soften. Add the peas last as they require less cooking time.
Sprinkle the flour over the meat and veggie mixture while stirring. This will help create a thicker filling. Gradually pour in the beef broth and Worcestershire sauce. Stir continuously until the mixture starts to thicken. Season with the remaining salt and pepper, and incorporate tomato paste if you're using it.
Preheat your oven to 400°F (200°C). Transfer the meat filling into a baking dish, spreading it out evenly. Top generously with the creamy mashed potatoes. Use a fork to create a textured surface. This will help create holes for a crispy topping.
Place the dish in the oven and bake for about 25-30 minutes, or until the top is golden brown. If you’d like a crunchier top, switch to broil for the last few minutes—just keep a close eye to prevent burning.