Bottom club Ards missed the chance to edge closer to 11th-placed Warrenpoint as Portadown came from behind to win at Clandeboye Park.
Willie Faulkner struck Ards ahead on 22 minutes he lobbed over David Miskelly after a long ball from David Armstrong.
Portadown drew level on 50 minutes as Darren Murray nodded home after Gary Breen's initial header.
The equaliser came after a Chris Casement corner and his delivery set up Emmett Friars's winner on 61.
The lively Faulkner had a last-gasp chance to level but he fired straight at Miskelly.
Murray fired wide for the Ports early on with Faulkner also going close before he did put Ards ahead.
However, after struggling during the opening quarter, Portadown did improve to dominate possession in the 15 minutes before half-time.
The Ports continued that good work into the second half with Murray getting the final touch to level on 50 after Breen had connected with Casement's corner.
The points were secured by the Ports 11 minutes later as Friars nodded in another Casement corner.
The win keeps Portadown in third place in the table, a point ahead of Crusaders.