In a large, heavy-based frying pan, heat the butter and oil. Cook the onions slowly until transparent and soft.
Add the potato slices and fry gently for two minutes.
Stir in the spinach.
Season the eggs with salt and freshly ground black pepper and pour onto the contents of the frying pan.
Cook over a low to medium heat: it may take up to ten minutes until the egg is set enough to turn the tortilla over, and if the heat is too high, the bottom will burn before the middle is set.
Once the bottom is nicely browned and the centre has set, it is time to turn it over. This is done with a double flip: place a plate (or the bottom of a tart tin) over the pan and flip it over once, so that the cooked surface of the tortilla is on the bottom. Take another plate, and flip it again so the cooked surface is on the top. Then place the frying pan back over the tortilla plate and flip one more time, so the uncooked bit is now in contact with the base of the pan.
Replace the pan over low heat until the tortilla is cooked through.
Serve hot, warm or cold, cut into slices or cubes.