Preheat the oven to 425°F (220°C) or heat a large skillet on medium-high heat.
Wash and dice the potatoes into bite-sized cubes.
Toss the potatoes with olive oil, garlic powder, salt, and black pepper.
Spread the potatoes on a baking sheet in a single layer or add them to the hot skillet.
Roast or cook the potatoes until they turn golden and crispy, about 25 to 30 minutes.
Add butter to the hot potatoes and stir until melted and evenly coated.
Sprinkle the shredded cheddar and mozzarella or Monterey Jack cheese over the potatoes.
Return the dish to the oven or cover the skillet until the cheese fully melts.
Top with crumbled bacon, sour cream or Greek yogurt, and chopped green onions.
Serve hot and add optional toppings like jalapeños, mushrooms, or caramelized onions if desired.