Portadown striker Darren Murray bagged a double and was sent off as Crusaders started their Premiership title defence with a defeat at Seaview.
Murray slotted in a penalty after a foul on Gary Twigg before Paul Heatley rifled in a 14th minute equaliser.
The Ports moved back in front thanks to a superb run and finish from Murray as he hit the net for a tight angle.
Crusaders pressed in the second half and squandered chances before Murray was dismissed late on for two yellows.
The champions deserved a draw but they found Ports keeper David Miskelly in fine form while good openings were wasted, particularly in the second half.
The opener came after 10 minutes when Gary Twigg was brought down by Josh Robinson, who was fortunate to escape with just a yellow card.
Murray, who has been linked with a move to Cliftonville, sent Sean O'Neill the wrong way with a composed spot-kick.
The Crues were quick to respond as the dangerous Heatley controlled 20 yards out before his low shot cracked off the the inside of a post and in.
Murray restored Portadown's advantage on 31 minutes, lifting the ball into the roof of the net after rounding O'Neill.
Crusaders started the second half strongly with a flurry of chances, beginning with Keith O'Hara clearing Jordan Forsythe's effort off the line.
Miskelly tipped over Forsythe's volley before Matthew Snoody hooked over from close range with the keeper stranded.
Portadown still posed a threat in attack and O'Neill produced an excellent point-blank save to keep out Peter McMahon's snapshot.
Murray was dimissed with seven minutes left but Ronnie McFall's side held on to secure the three points.