Set some potatoes boiling, large chunks, skin on. At the same time, slowly fry some onions in a little butter until softening, and only just taking colour. You can use leeks, or even shredded cabbage, if you like; just keep it low and slow, so you can ignore it all and get on with the fish. Meanwhile, skin and roughly flake some smoked mackerel into a bowl. You can use really rather a lot since it’s both delicious and very, very cheap. Don’t worry about bones. You’ll feel any sturdy enough to pick out while you’re flaking, and the rest will seem to vanish in cooking.
When the potatoes are cooked dump them (skin on) on top of the fish, likewise the onions. Then go and do something else while it all cools a bit. I mean, you can just stand there, but I’d recommend watching Heroes instead. Or preparing some vegetables to go with it all – steamed kale is rather nifty, or something daft with a cream sauce from Silver Spoon. The “Fabulous Broccoli” is a good bet, and contains rather more leeks and cream than actual broccoli. It’s probably more effort than the fishcakes themselves, but a side with sauce can take the edge off any dryness. The oil of the fish means this isn’t a big problem, but it’s good for overall balance.
Once it’s all cool enough to handle, mash it roughly together, seasoning and chopping in some flat leaf parsley (or even dill) as you go. Shape into hefty chunks in the palm of a hand, flour if they’re a bit gooey, and fry until warm through with some crispyness to the outside.
Gooeyness shouldn’t be a problem since the potatoes had a fair chance to dry out, and they really are better without anything cluttering up the outside. Have them with beer.
The other thing I’ve tried in this vein is a layered bake of thin-sliced potatoes, smoked haddock, and leeks, with mustardy cream sauce. It’s got the lasagne cost/benefit problem, unfortunately, but I think there’s a usable recipe in there somewhere. Maybe an actual fish lasagne would be better, or even throwing the haddock and cream sauce in with some gnocchi…