Start by preheating your oven to 375°F. Grease a 9x13-inch baking dish with butter or cooking spray. This step makes cleanup easier and prevents sticking. While the oven is heating, you can prep your ingredients.
In a large bowl, mix the ground beef or turkey with chopped onion, garlic, breadcrumbs, Worcestershire sauce, beaten egg, cottage cheese, and BBQ sauce. Mix gently to avoid compacting the meat. Once everything is combined, spread it evenly into your prepared baking dish and gently press it down into an even layer.
Slide the dish into your preheated oven and bake for 30 minutes. This partial bake helps set the meatloaf before adding the topping. Meanwhile, get started on your mashed potatoes so everything is ready to layer.
Boil the diced potatoes in a saucepan with salted water for about 15–20 minutes or until fork-tender. Drain the water completely, then mash the potatoes while they’re still hot. Add the butter, sour cream, and warm milk, and mash until creamy. Stir in salt, pepper, and half of the shredded cheese.
Take the meatloaf out of the oven and carefully pour off any extra grease. Spoon the mashed potatoes on top, smoothing it out with a spatula. Sprinkle the remaining cheddar cheese over the top, followed by the crumbled bacon.
Return the casserole to the oven and bake for another 15–20 minutes. The cheese should be fully melted and bubbly, and the top will start to brown slightly. Let it sit for a few minutes before serving so the layers can settle.