Controversy surrounded Carrick’s equaliser as Ards lost ground in the European play-off race.
Guillaume Keke had sent Ards well on their way when he put this 2-0 up on 39 minutes.
But Carrick were level by the break, Martin Murray halving the deficit before defender Paddy McNally equalised on 45.
But the former Ballymena man had earlier fouled Ard’s impressive on-loan Sky Blue Matthew Shevlin outside the box. Last man? Definitely - but referee Lee Tavinder issued just a yellow card.
That all looked far off when in-form Frenchman Keke gave Ards the lead on just three minutes, firing home a well-hit volley after a corner was cleared to the edge of the box.
Keke’s second arrived on 39 when his 20 yard effort was deflected neatly into the bottom corner - just the touch of fortune required to beat a typically inspired Neeson.
The keeper had twice denied Shevlin and a strong Tommons effort and his outfield players eventually rewarded him for keeping his side in the game.
That began on 41 when Martin Murray halved the deficit, completing a neat one-two and slamming home his third goal in as many games.
Against all the odds, the plucky hosts were level at the break when Paddy McNally headed home on 45 - cue controversy.
It had been a first half that had everything - Carrick’s Declan O’Brien was inches from scoring from the centre-circle and at the other end Keke was denied another by his strike partner Shevlin, who inadvertently blocked the ball on the goal-line.
The second half didn’t live up to the billing of the first - chances at a premium although substitue Sean Noble did bundle the ball narrowly wide late on.
Portadown live to fight another day, Carrick are a point from avoiding the automatic drop and Ards are now three points off a European play-off place.
CARRICK RANGERS: Neeson, Chapman (Kelly 82), Smyth, McVey, McNally, Rice, M Murray, S McCullough, TJ Murray, O’Brien, Elder (Noble 77).
Unused Subs: Quigley, Morrow, Taggart.
ARDS: Hogg, Bradley, Byers, Taylor, Doherty, McMillen (Mitchell 87), Tommons, Cherry, McAllister, Keke, Shevlin (Liggett 77).
Unused Subs: McMullan, Hughes, Arthurs.
Refree: Lee Tavinder