Wash the potatoes and cut them into a 3/4-inch cubes. Add to a saucepan and cover with water. Bring to a boil and boil 6 to 7 minutes until just fork tender.
Drain in a strainer and allow to steam for 2 minutes. Then place them in a bowl and toss with 1 tablespoon of the olive oil and the garlic powder, onion powder, kosher salt and pepper.
Heat a very large stainless or cast iron skillet over medium heat and melt the 1 tablespoon butter with the remaining 1 tablespoon olive oil. Add the potatoes and cook, stirring only occasionally until all sides are browned, about 10 minutes.
Add the white onion and remaining 1 tablespoon butter. Cook for 5 minutes until the potatoes are browned on all sides. Top with green onions and serve hot. (Leftovers store 3 days refrigerated; reheat in a skillet before serving.)