Preheat oven to 375°F (190°C). In a large bowl, combine ground beef, chopped onion, garlic, breadcrumbs, egg, barbecue sauce, Worcestershire sauce, salt, and pepper. Mix until well combined, then press the mixture evenly into the bottom of a greased 9x13-inch baking dish. Bake for 20–25 minutes or until the meatloaf is cooked through.
While the meatloaf bakes, boil the potatoes in salted water until tender (about 15–20 minutes). Drain and mash with butter, sour cream, milk, garlic powder, salt, and pepper until smooth and creamy.
Spread the mashed potatoes evenly over the baked meatloaf layer. Sprinkle cheddar cheese and crumbled bacon on top. Return to the oven and bake for 15–20 minutes until the cheese is melted and bubbly.
Remove from the oven and sprinkle with chopped green onions. Let cool for 5 minutes before serving.