Preheat the oven: Arrange the oven rack in the center and preheat to 325°F. Lightly butter or spray a 9x13-inch baking dish and set aside.
Prep the potatoes: Wash, peel, and cut the potatoes into even 3/4-inch cubes so they cook evenly and become perfectly tender.
Cook the bacon: Cook the bacon until crisp using your preferred method. Transfer to a paper towel-lined plate, then crumble once cooled.
Mix the creamy base: In a large mixing bowl, stir together the mayonnaise, sour cream, garlic, salt, pepper, and paprika until smooth and well combined.
Combine everything: Add the diced potatoes, onion, both cheeses, and about 3/4 of the crumbled bacon to the bowl. Stir until everything is evenly coated in the creamy mixture.
Transfer to baking dish: Spread the mixture evenly into the prepared baking dish and gently press into an even layer for consistent baking.
Cover and bake: Cover the dish tightly with foil and bake for 50–60 minutes, or until the potatoes are just fork-tender.
Finish uncovered: Remove the foil, sprinkle the remaining bacon over the top, and return to the oven uncovered. Bake for an additional 20–30 minutes, until the top is bubbly and lightly golden.
Rest and garnish: Let the casserole rest for 5–10 minutes to allow the sauce to thicken slightly. Sprinkle with green onions and serve.