"Mom used to make this growing up and was always my favorite. We usually had it for dinner but can be used for breakfast. We have also made this in the Dutch oven when camping. We like to serve with ketchup."
Place potatoes into a large pot and cover with salted water; bring to a boil. Reduce heat to medium-low and simmer until tender, about 20 minutes. Drain. Slice potatoes when cool enough to handle.
Melt 2 tablespoons butter in a large skillet over medium heat; cook and stir onion in hot butter until slightly browned, about 10 minutes. Melt remaining 2 tablespoons butter in skillet; add sliced potatoes. Continue cooking until potatoes begin to brown, about 10 more minutes; stir often.
Beat eggs in a bowl; pour beaten eggs over potatoes and let cook until egg begins to firm on the bottom, about 5 minutes. Carefully work a spatula underneath the eggs and potatoes and flip. Cook until eggs are firm and set throughout, 3 to 5 more minutes. Season with salt and black pepper.
Lay American cheese slices over egg-potato mixture and let melt before serving.