Preheat the oven to 180 C. Grease a 23x33cm baking dish.
Heat the oil in a frying pan over medium heat. Add the onions; cook and stir until tender, 5 to 10 minutes.
Place the potatoes in a separate saucepan and fill with enough water to cover. Bring to a boil, then cook over medium heat until tender enough to pierce with a fork. Drain and transfer potatoes to the prepared baking dish.
Add the onions, salmon, haddock, and smoked salmon to the baking dish, tossing to mix.
In the same frypan that the onions were cooked in, melt the butter over medium heat. Stir in flour so there are no lumps. Cook and stir for a few minutes, then gradually stir in the milk. Simmer, stirring frequently, until the sauce begins to thicken. Season with nutmeg, salt, and pepper; remove from the heat. Stir in most of the cheese until melted, reserving some to sprinkle over the top of the pie. Pour the sauce over the contents of the baking dish, and sprinkle with the remaining Cheddar cheese.
Bake in preheated oven until the salmon is cooked through and the cheese on top is browned, about 30 minutes.