In a large skillet, saute ham and onion in 1 tablespoon of oil until ham is lightly browned and onion is tender; remove and keep warm. Add remaining oil to skillet; cook potatoes over medium heat until tender, turning to brown.
In a small bowl, whisk the eggs, milk, salt and pepper; add to skillet. As eggs set, lift edges, letting uncooked portion flow underneath. When eggs are set, spoon ham mixture over top; heat through. Sprinkle with cheese; top with salsa. Cut into wedges.