Gareth McKeown's thunderbolt five minutes from time gave Crusaders an invaluable three points and cut Cliftonville's lead to six points.
Crusaders dominated the game from start to finish but it took them 85 minutes to break down Portadown's stubborn defence.
While most would consider Linfield 3-1 victory over Cliftonville as good news for the Crues, manager Stephen Baxter believes it puts the Blues right back in the title hunt.
“Linfield are starting to kick-on. They're beating teams all round them and I've said all along, you rule them out at your peril.
“As for Cliftonville, Tommy Breslin knows that if he doesn't win every game then the gap will close as every team is working so hard to catch them. We don't get caught up in it. For me, we've got keep focused and keep looking after ourselves, as there is a long way to to go and there are shock results to come.”
Crusaders winner arrived in the 85th minute through right-back Gareth McKeown, but previous to that they missed a number of big chances, most notably striker Jordan Owens put two second half headers just past the post.
The goal arrived in unusual circumstances. Portadown defender Keith O'Hara fouled Josh Robinson mid-way into his own half. Referee Alan Black brandished O'Hara second yellow card of the day, but failed to follow it up with a red card. After some deliberation Black realised his error and finally produced the red card.
The returning Chris Morrow played short free-kick to Paul Heatley, who got to the byline and pulled the ball back for Gareth McKeown and he rifled the ball beyond David Miskelly from 15 yards.
Portadown also had a goal disallowed in the first half. Tim Mouncey's header was ruled out for pushing in the box.
A furious Ronnie McFall blasted the referee after the game. He said; “We had a perfectly good goal disallowed in the first half for no reason. The referee said there were players blocking the goalkeeper, but there was nobody even near him.
“O'Hara second foul wasn't even a booking. The referee didn't even realise he'd book him before until the fourth official told him. These are the sort of guys who are officiating at our matches. I've no doubt he cost us the result.”
Crusaders: O'Neill, McKeown, Magowan, Coates, McClean, Snoddy (73 Morrow), Caddell (82 Rainey), Robinson, Heatley, McCutcheon (90 Watson), Owens
Subs not used: Leeman, Mitchell
Portadown: Miskelly, Ramsey, O'Hara, Gartland, Redman, Mackle (82 R.Burns), Casement, Mouncy, McNeill, Braniff, Lecky
Subs not used: McArdle, McLellan, A.Burns, Patton
Referee : Alan Black