Place the chopped bacon in a large skillet over medium heat. Cook until the bacon is crispy, then remove it with a slotted spoon and set aside. Leave the bacon fat in the pan.
Add the diced potatoes and onion to the same skillet. Stir to coat them in the bacon fat, then cook undisturbed for several minutes so the potatoes develop golden, crispy edges.
Stir the potatoes and onion occasionally until they are tender and browned in spots. This takes about 15 minutes.
Return the cooked bacon to the skillet and sprinkle the shredded cheddar cheese over the top. Stir gently until the cheese melts and coats the mixture evenly.
In a separate skillet or after clearing space in the main pan, fry the eggs until the whites are set but the yolks remain runny.
Divide the hash among four plates and top each serving with a fried egg. Season with salt and black pepper right before serving.