In a 12-inch ovenproof nonstick skillet, heat the olive oil over medium-high heat until it ripples. Lower the heat to medium and add a layer of onions. Top with a thin layer of potato slices, season with salt and pepper, then add another layer of onions, potatoes, salt and pepper. Add the smoked salmon in a single layer. Continue layering the onions and potatoes, seasoning as you go. Let the layers cook, pressing down gently to flatten. After 10 minutes, cover with a lid and reduce the heat to low. Cook until the vegetables soften, up to 25 minutes more. Remove from the heat.
In a medium bowl, whisk the eggs and pour them into the skillet, lifting the layers with a spatula to let the eggs in. Jiggle the skillet to prevent sticking. Return to low heat, cover and cook for 10 minutes. Remove from the heat and shake gently.
Preheat the broiler. Place the skillet about 3 inches from the heat and cook until golden, about 6 minutes. Let rest for 20 minutes. Shake the pan gently to loosen the tortilla, place a serving plate over the top and flip to release.