For the relish
To make the relish, put the onions and shallots in a small bowl, and toss in the lemon juice.
Heat the oil for the relish in a frying pan over a medium heat. Tip in the onions and shallots, and sauté for 3–4 minutes until just softened. Add the vinegar and sugar, and continue to cook for a further 2 minutes over a high heat. Pour in the stock, and season well with salt and pepper. Bring to the boil and simmer gently for 10 minutes until the sauce has thickened and slightly reduced.
Brush a frying pan with the oil, and heat over a medium-high heat until hot. Press the fish into the pan to seal, reduce the heat and cook for 4 minutes. Turn the fish over and cook for 5 minutes until cooked through. Drain on kitchen paper and keep warm.
Stir the cornflour paste into the relish and heat through, stirring, until it has thickened. Check and adjust the seasoning if necessary. Pile the relish onto serving plates and top with the halibut.