Second-placed Linfield missed a chance to cut the gap on Premiership leaders Crusaders by losing to Portadown.
With the Crues being held to a 1-1 draw by Glenavon, David Healy's Blues could have closed the gap to four points.
Two former Linfield players scored the Portadown goals with Mark McAllister netting a disputed penalty and Philip Lowry heading the second.
Portadown defender Ken Oman was sent-off and Matthew Clarke scored in the 84th minute for Linfield.
That ensured a frantic finish with Linfield, who had won six in a row in the league, desperate to get something from the game.
It was a surprise win for struggling Portadown who had lost their previous six Premiership fixtures.
Linfield fury over penalty verdict
The major talking point at Shamrock Park was the penalty decision midway through the first half.
Defender Mark Stafford, having allowed a long ball to bounce, was deemed to have tripped Marcio Soares in the area.
Linfield players, believing the Portadown player had dived, protested to referee Arnold Hunter and the assistant official, but the spot-kick was given and former Linfield forward McAllister beat Ross Glendinning.
Midfielder Lowry made it 2-0 in the 69th minute by meeting a ball from Chris Casement, another former Linfield man.
Oman was sent-off when a deliberate hand ball resulted in his second yellow card of the night and soon afterwards full-back Clarke halved the deficit.
The Blues will rue their failure to cut the six-point gap on leaders Crusaders.
The champions don't drop many points at Seaview, so it was a rare chance to gain ground which Linfield desperately needed to take.
Instead, the Belfast Blues find themselves now seven behind the Premiership pacesetters and still just two ahead of third-placed Cliftonville.
It was a first loss in nine league matches for David Healy's Linfield, their last defeat having also been at Portadown in November.