Sautée the diced onions in olive oil over a medium-low heat, stirring every couple of minutes until they start to caramelize.
Add in the potatoes along with ¼ cup of water. Turn the heat up to medium and cover. Stir every two minutes for about 10 minutes and then uncover and cook until the water is fully evaporated and the potatoes are cooked through (but not mushy).
Transfer this onion and potato mixture into a bowl and let cool.
Beat the eggs in a separate bowl and season with salt. Add the ham, minced garlic, peas, and mint. Once the potatoes and onions have cooled, stir them into the egg mixture too. Make sure they aren't too hot, or they'll scramble the eggs.
Let the mixture sit for about 15 minutes.
To cook the tortilla, coat a medium-sized frying pan (nonstick is ideal) with olive oil over a medium-high heat.
Pour in the tortilla mixture and cook the tortilla slowly until the bottom has formed a browned crust.
To flip the tortilla and cook the other side, put a plate over the top of the frying pan and flip the tortilla onto the plate so that the uncooked side is facing down. Then slide the tortilla off the plate and back into the pan (raw side down).
Continue to cook until a crust forms on the other half of the tortilla. Depending on your preferences, you may wish to cook the tortilla completely through or keep it gooey on the inside.
Allow the tortilla to rest for at least ten minutes before serving, and it can also be served at room temperature.