In a cast-iron or other heavy skillet, cook bacon until crisp. Remove to paper towels to drain. In drippings, saute onion and potatoes until potatoes are browned, about 5 minutes. Push potato mixture from center to side of pan. Pour eggs into center; cook and stir gently until eggs are set and cooked to desired doneness. Stir to combine eggs and potato mixture.
Season with salt and pepper. Sprinkle with cheese and bacon; let stand until cheese melts.