Bring a large pot of salted water to a boil. Add the cubed potatoes and cook for 8–10 minutes, until just short of fork-tender. Drain well and set aside.
While the potatoes boil, cook the bacon in a skillet over medium heat until crisp, about 8 minutes. Drain on paper towels and crumble once cool.
Preheat the oven to 375°F.
In the same skillet (wiped if needed), melt the butter over medium-low heat. Add the softened cream cheese and whisk continuously until fully smooth, about 2 minutes.
Slowly whisk in the half-and-half, garlic powder, smoked paprika, onion powder, salt, and pepper until smooth.
Remove the skillet from heat. Stir in half of the shredded cheddar, a handful at a time, whisking until fully melted before each addition.
Fold in the drained potatoes, most of the crumbled bacon, and half of the green onions until evenly coated.
Spread the mixture evenly in the skillet or transfer to a greased 9x13 baking dish. Top with the remaining cheddar.
Bake for 20–25 minutes, until the cheese is melted and just golden at the edges and the potatoes are bubbling.
Let rest for 5 minutes, then top with remaining bacon and green onions before serving.