Champions Cliftonville lost their 100% record in this season's Premiership as Gary Twigg snatched a late winner for Portadown at Solitude.
Cliftonville had appeared destined for a fourth win in a row when defender Marc Smyth put them into the lead in the 69th minute with a deflected shot.
But Chris Casement equalised with a swerving free-kick before Twigg turned a winner high into the net.
Before the goals, Ports keeper David Miskelly saved a Joe Gormley penalty.
The spot-kick had been awarded when Chris Curran went down the box. Miskelly was furious about the decision and saved with his legs when Gormley shot down the middle.
The Ports had most of the chances in the first half with home keeper Conor Devlin saving from a Chris Ramsey free-kick and Kevin Braniff firing a volley just over.
Gormley had the ball in the net, after Smyth had fired the ball across, but the flag went up fir offside.
Cliftonville maybe had the best chance just before the interval but winger Martin Donnelly sliced wide from close-range.
Early in the second half Twigg saw a header come off an upright while at the other ended Liam Boyce blasted a chance wide.
The penalty incident came in the 65th minute and four minutes later defender Smyth's volley found the net.
Reds skipper Ryan Catney will be kicking himself for conceding the free-kick from which former Linfield player Casement drilled in the Portadown equaliser.
Then Twigg scored the goal which ended Cliftonville's 24-match winning run at home in domestic competition and leaves them just one point ahead now at the top of the Premiership table.
"I think we just about shaded it and have sent out a message tonight," said Ports boss Ronnie McFall.
"Cliftonville are a quality outfit, they have a big squad, and I have said whoever finishes above them will win the league."