Peel the potatoes and cut into small cubes (a little less than 1/2 inch). Put in a bowl and cover with cold water, mixing to rinse off the starch. Drain and rinse in a colander, then transfer to paper towels and pat dry.
Heat the oil in a 10-inch cast-iron skillet over medium-high heat. Add the potatoes and cook, stirring occasionally, until tender and golden brown on most sides, about 15 minutes. Season with 1/4 teaspoon salt and pepper to taste, then transfer to a plate with a slotted spoon.
Preheat the broiler on high.
Add the onion, bell pepper and garlic to the skillet and cook, stirring occasionally, until golden brown, about 7 minutes. Add the beef, chili powder and 1/2 teaspoon salt and cook, breaking up any clumps with a wooden spoon, until brown, about 5 minutes. Return the potatoes to the skillet and mix to combine. Sprinkle the cheese over the hash.