Place the peeled and cubed potatoes in a large pot and cover with cold water. Add 1 tablespoon of salt to the water. Bring to a boil over high heat, then reduce to medium and simmer until fork-tender, about 15-20 minutes.
While the potatoes are cooking, brown the ground beef in a large skillet over medium-high heat, breaking it into crumbles. When the beef is about halfway cooked (after about 4 minutes), add the diced onions and continue cooking until the beef is no longer pink and the onions are translucent.
Drain excess fat from the beef, leaving about 1 tablespoon for flavor. Add the minced garlic and cook for 30 seconds until fragrant.
Stir in the Worcestershire sauce, chili powder, smoked paprika, dried oregano, and cumin. Season with salt and pepper to taste. Cook for an additional 2 minutes to allow the flavors to meld, then remove from heat.
Drain the cooked potatoes thoroughly and return them to the hot pot. Allow them to steam dry for 1-2 minutes. Add the softened butter and mash until mostly smooth.
Stir in the sour cream, warmed milk, garlic powder, salt, and pepper into the mashed potatoes. Avoid overmixing to prevent a gluey consistency.
Preheat your oven to 375°F (190°C). Lightly grease a 9x13 inch baking dish. Spread the seasoned beef mixture evenly across the bottom of the dish.
Carefully spread the mashed potato mixture over the beef layer, creating an even top with some texture. Sprinkle the shredded cheddar cheese over the potatoes.
Bake uncovered for 25-30 minutes or until the cheese is fully melted and beginning to brown at the edges. The internal temperature should reach 165°F (74°C).
Remove from the oven and sprinkle with the crumbled bacon, sliced green onions, and chopped parsley. Let stand for 5 minutes before serving.