Preheat oven to 375°F (190°C). Coat a 9x13 inch baking dish with nonstick spray.
Peel and cut potatoes into 1-inch cubes. Boil in salted water for 10-12 minutes until just fork-tender. Drain and steam dry for 2-3 minutes.
Cook bacon in a skillet over medium-low heat until crispy. Drain on paper towels, crumble, and set aside.
In a saucepan, melt butter over medium heat. Sauté onion for 3-4 minutes until softened. Add garlic and cook 1 minute until fragrant.
Stir in flour and cook for 1-2 minutes. Gradually whisk in warm milk, stirring constantly, until the sauce thickens, about 3-4 minutes.
Remove from heat and stir in sour cream, 1 ½ cups of cheddar cheese, garlic powder, onion powder, salt, and pepper until smooth and creamy.
Combine the drained potatoes with the cheese sauce in a large bowl. Fold in half the crumbled bacon. Transfer to the prepared baking dish.
Mix crushed cereal or Panko with melted butter. Sprinkle the remaining 1 cup of cheddar, remaining bacon, and buttered crumb topping over the casserole.
Bake uncovered for 25-30 minutes until golden and bubbling. Tent with foil if browning too quickly. Rest for 5 minutes before serving.
Garnish with sliced green onions and serve hot directly from the baking dish.