Heat the olive oil over medium heat in frying pan. Add the potato slices and stir to coat with oil. Cook for about 7 minutes, stirring occasionally.
Add the onions and mix well. Continue cooking for another 7 minutes.
Transfer the potato mixture to a plate.
In a bowl, whisk the eggs and the ham and potato mixture. Pre-heat the oven to 375F.
Pour the mixture into oven proof pans and place in the oven. Bake until cooked and golden on top. Baking time will vary based on the pan and thickness of the tortilla, about 20 to 30 minutes. Remove the tortilla from the oven. Let it rest for about 5 minutes and serve warm or cold.