Ballymena United relinquished the leadership of the Danske Bank Premiership after a chastening defeat at Ferney Park.
The Sky Blues produced an abject display as they were well beaten by Ballinamallard, who claimed their first victory of the league campaign in emphatic style.
Manager Glenn Ferguson recalled Allan Jenkins to the starting line-up in place of Mark Surgenor in the only change from the midweek win over Institute.
The home side signalled their intent from the start with Liam Martin cutting in from the right flank and firing a left foot shot wide of the near post inside the opening minute.
Martin was again involved on six minutes, working an opening inside the penalty area which was blocked behind by defender Johnny Taylor.
The Mallards’ strength from set-pieces was almost illustrated on 19 minutes when Leon Carters’s header from a Liam McMenamin free kick looped over Nelson but, thankfully for United, the ball landed on the roof of the net with the keeper beaten.
And United were grateful to their keeper on 26 minutes when he beat away Johnny Lafferty’s left foot effort at his near post, after the Ballinamallard player had hoodwinked his way past Jenkins.
It took Ballymena the best part of half an hour to fashion a decent opening. Tony Kane launched a long throw from the right which flicked off a Ballinamallard head and fell to Matthew Tipton, whose fiercely struck effort was bravely blocked by Mark Stafford.
The home side responded and John Currie went on a meandering run down the right flank and his teasing cross was glanced centimetres wide of the far post by Martin.
Matthew Tipton then produced some trickery on the right flank and he crossed for Alan Teggart to flash a header into the side netting.
Nelson preserved the scoreless stalemate with a fantastic reflex save to divert Johnny Lafferty’s effort over the bar.
But the reprieve was short-lived as the subsequent corner was played short and when the ball was swung back in, former Leeds striker Elding was on hand to prod home from close range.
The second half started in disjointed fashion with neither side able to take control of the match.
Ballymena came close on 69 minutes when Tony Kane’s tame-looking header from a Neal Gawley corner drifted just wide at the far post, with keeper Fergal Murphy floundering.
United went close again on 77 minutes when Davy Munster’s header from Neal Gawley’s cross beat Murphy but defender Mark Stafford was positioned behind the keeper to clear.
The killer blow was struck with 10 minutes to go when Martin received a lay-off from Lafferty before beating Nelson with a neat curling effort from just inside the box.
And the midfielder rubbed salt in United’s wounds two minutes later when he latched onto an Elding flick-on and rounded Nelson at the second attempt before slotting home.
Ballinamallard United: Murphy, McMenamin (sub Crilly 88), Carters, Stafford, Beacom, Martin, Kee, Currie (sub Foy 79), Hutchinson, Elding (sub Campbell 83), Lafferty. Subs (Not used): McCusker, McLaughlin.
Ballymena United: Nelson, McCullagh, Munster, Taylor, McBride (sub Gawley 66), Kane (sub Surgenor 81), Taggart, Jenkins, Teggart (sub Boyce 66), Tipton, Cushley. Subs (not used): Stewart, Ruddy.
Referee: Raymond Crangle (Belfast)