Preheat oven to 350°F. In an 8-inch ovenproof skillet, warm olive oil over medium-low heat. Add potatoes in a single layer and cook, turning once, until just tender and lightly browned, 10 minutes.
Transfer potatoes to a plate with a slotted spoon. Pour off all but 1 Tbsp. of oil, reserving 2 tsp., and add onion and chorizo to pan. Raise heat to medium-high and cook, breaking apart chorizo with a wooden spoon, until onion is translucent and chorizo is cooked through, 5 minutes. Transfer to plate with potatoes. Pour reserved 2 tsp. oil back into skillet and swirl to coat.
Whisk eggs with salt and pepper until well combined. Stir in potato mixture and pour back into skillet. Reduce heat to medium-low and cook until egg begins to set but top remains soft, about 8 minutes. Transfer pan to oven and cook until top of frittata is set, 5 to 8 minutes longer. Remove from oven and let stand 5 minutes, then run a knife around edge of pan to loosen. Cut into slices and serve warm or at room temperature.