Preheat oven to 350° F.
Peel and grate potatoes using the large holes on a box grater.
Using a kitchen towel or several layers of cheesecloth, wrap grated potatoes and twist out as much liquid as possible.
In a 10-inch skillet over medium heat, cook chopped bacon until it is mostly cooked but not crisp. Place the cooked bacon on paper towels to drain excess grease. Remove all but approximately 1 tablespoon of bacon grease from the skillet and lower the heat to medium-low.
Add grated potatoes to the skillet with the bacon grease. Spread potatoes into a single layer and then sprinkle with salt and pepper.
Cook undisturbed for 6-7 minutes or until the bottom is brown and crispy. Using a spatula carefully flip. Note: if hash browns are too large to flip as one piece use a knife or pizza cutter to cut them into quarters and flip them as individual pieces.
Cook the second side for 6-7 minutes or until brown and crispy. Remove the skillet from heat. Cut and place in the bottom of a casserole dish forming one solid layer of cooked hash browns.
Top hash browns with bacon pieces and half the cheese. Whisk the eggs in a medium bowl and then pour evenly into the casserole dish.
Bake for 10-15 minutes then add the remaining cheese to the top of the casserole. Bake for an additional 5-10 minutes or until the cheese is bubbly and melted.
Let stand for 5-10 minutes before serving. Top as desired.