Coat the bottom of the pan with olive oil and add the onions over medium heat.
Cut the potatoes into thin slices and add to the pan.
Cover with the garlic, parsley, and peppers and turn the heat down to low.
Cover and gently stir every 10 minutes.
Cook for about 30 minutes (until all potatoes are tender and starting to brown)
Crack the four eggs over the potatoes and turn the heat down very low. Cover and cook the eggs just until the whites have set. Then, break the yolks and remove from the heat!
In the meantime, dice the chorizo in rounds (or remove the casing and crumble), then brown over medium heat in a separate pan.
Season with salt and pepper.
Cover the potatoes and eggs with thin slices of ham (you don’t need to cook the ham if you are using the good stuff) and the cooked chorizo.