Preheat oven to 350 degrees F.
Place whole potatoes in saucepan of cold water. Bring to the boil, add a good pinch of salt, and cook for about 12 minutes, or until just tender. Drain, allow to cool completely, and thinly slice.
Heat 1 tablespoon of the oil in an 8-inch nonstick (ovenproof) frying pan over medium heat. Add the onion, and cook until soft and translucent, about 3 to 5 minutes. Add the garlic and cook another 2 minutes, stirring frequently. Continue cooking until the onions become a little caramelized, and are reduced to a quarter in volume. You don't want to let anything get too brown. Remove the onions from the pan, and set aside.
Prepare the mackerel by peeling the skin off one side and breaking into smallish pieces with your hands.
Add the remaining oil to the pan, and layer up, alternating the potato slices, onions and mackerel chunks. Aim for at least 3 or 4 layers.
Whisk the eggs, cream, salt, and pepper in a bowl, and pour over the layers, lifting the bottom a little to encourage even distribution. Let cook 2 minutes or so on the burner to get a nice base and start to cook the sides. Place the pan in the oven for 25 to 35 minutes, or until browned, and cooked through. When it's ready the edges will be browning, and the top will be puffed up with no signs of runny egg.
Run a sharp knife around the edge and inverting a serving platter on top of the pan, flip the tortilla over, and turn out onto the platter, and slice into wedges.
This dish is great served hot out of the oven or equally good served up cold or at room temperature as leftovers.