Preheat oven to 350 degrees F and pull out a 9x13 casserole dish (or similar size).
In a large pot or stew pot, add cold water. Peel and cut the russet potatoes into large chunks and add to the pot. Place the pot on the stove and heat to boiling, then reduce heat slightly (so water doesn't boil over). Boil the potatoes until they are tender when pierced with a fork.
While potatoes are cooking, take the onion and dice it into small pieces.
Heat a large skillet over medium or medium-high heat and add the ground beef and diced onion. Cook, stirring occasionally, until meat is browned. Add 1/2 tsp salt and 1/4 tsp black pepper and stir.
Add 1 Tbsp Worcestershire sauce, 1 cup beef broth, and 2 Tbsp butter to the pan. Cook, stirring occasionally, until butter is melted.
Sprinkle the 2 Tbsp flour over the meat and mix in to thicken broth into a gravy.
Add the frozen peas and carrots and cook for 10 minutes to soften.
Drain the potatoes, return to the pot, and add 1 cup heavy cream OR milk, 2 Tbsp butter, 1/4 tsp garlic powder, and 1/2 tsp salt. Mash with a potato masher until smooth and creamy. (If needed, add more milk/cream/butter).
Into the casserole dish, pour the beef mixture. Then top with dollops of the mashed potatoes and smooth out. Sprinkle with dried parsley, if desired.
Cook in the oven for 25-30 minutes. Remove from oven and serve.