Peel the potatoes and rinse them under cold water.
Slice the potatoes into thin slices, I prefer about 1/2 centimeter (some prefer thicker). I use a mandolin to do this quickly and easily.
Pat the potato slices dry and put them into a large bowl, sprinkle with salt, and mix well.
Heat a 1/2 inch of high quality extra virgin olive oil in a large frying pan at medium low heat.
When the oil is hot, add the potatoes and add more oil if necessary until all are covered.
Cook the potatoes for 20 minutes at a low heat (they may break apart, that is okay).
While the potatoes are cooking, beat the eggs in a large bowl and season with some salt and pepper.
Slice the onion as thin as possible (julienne style) and fry over a low heat in a separate heavy pan (I like stainless steel) for about 10-20 minutes until they begin to caramelize (stir often).
When the onions are caramelized, drain off any excess oil and add to the egg mixture.
When the potatoes have been frying 20 minutes, remove them with a slotted spoon into a strainer and allow to cool off while any excess oil drips away.
After a few minutes, add the potatoes to the egg mixture and stir well.
Let the egg mixture sit for about 20 minutes.
In the same pan where you fried the potatoes, remove all the oil (you can reuse it!) and over a medium low heat add the egg mixture.
Over medium-low heat, cook the tortilla for about 6-8 minutes per side. Make sure the heat is low enough or the tortilla will cook too quickly and be rubbery. You can run a rubber spatula along the edges to make sure the tortilla isn't sticking.
When you are sure that the bottom is cooked and you want to flip the tortilla, take a large plate and put it over the pan and flip quickly! Some egg will likely slip out-- it'll be messy-- but that's okay!
Finally, slide out of the pan onto a serving plate and let cool a little before diving in.