Preheat the oven to 375°F and arrange a 9×3 baking dish. Grease it very lightly with nonstick cooking spray.
Take a large skillet and cook the ground beef until fully browned. Remove any excess fat that has been collected, then add thinly sliced onions and diced carrots into the mixture. Cook for an additional 2 minutes.
Add frozen peas and corn, tomato soup, ketchup, water (optional), red wine vinegar, sugar, salt and pepper to the skillet. Give it a good stir until everything is blended together. Turn down the heat and allow it to simmer for about 10 minutes until the liquid has almost completely evaporated from the mixture. Finally, pour in a few tablespoons of butter and mix until melted.
Tip the ground beef mixture into the 9×3 baking dish, evening it out to cover the entire bottom of the plate.
Peel and chop up some potatoes before placing them in a large pot filled with cold water. Place over high heat and let it boil for 15 – 20 minutes or until fork tender.
Once the potatoes are cooked, take them off the heat and put them back in the pot. Begin to mash them using either a potato masher or an electric hand mixer until they reach desired smoothness. Add butter, milk, sour cream, Parmesan cheese, salt, pepper and garlic powder to the potatoes for added flavour. Mash again until all of the ingredients have combined.
Smooth the mashed potatoes over top of the ground beef mixture in the baking dish, using a spatula to spread evenly.
Pop it in the oven and bake for 30 minutes or until lightly golden on top. Let it cool before serving up!