Wash the potatoes and cook in a pot of boiling salted water for about 15-20 minutes until tender. Peel and finely chop the garlic and onions. Drain and peel the potatoes. Wash the courgettes. Cut the potatoes and courgettes into 1cm cubes.
Cut the Serrano ham into thin strips.
Heat the oil in a frying pan and saute the onions and garlic over a medium heat until softened and translucent. Add the potatoes and courgettes to the pan and fry for 4-5 minutes. Season with salt and black pepper.
Whisk the eggs, season with salt and pepper and add to the pan. Add the ham and cook for about 3 minutes over a medium heat, stirring gently.
To flip the omelette, turn it out onto a plate and let it slide back into the pan. Cook for a further 4 minutes until firm. Cut the omelette into pieces and serve.