Sauté the onions in olive oil over a medium-low heat, stirring every couple of minutes until they start to caramelize.
Add the potatoes and water, then turn the heat up to medium and cover. Cook for 10 minutes, stirring every 2 minutes, and then uncover and cook until the water is fully evaporated and the potatoes are cooked through but not mushy. Transfer the onion and potato mixture to a bowl and let it 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 and let it sit for about 15 minutes.
Coat a medium-sized frying pan (preferably nonstick) with olive oil and set 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. Slide the tortilla off the plate and back into the pan so the raw side is 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, then slice and enjoy. The tortilla can also be served at room temperature.