Glenavon lost for the first time in nine games against Cliftonville to suffer a third successive away defeat in this season’s Danske Bank Premiership.
Rory Donnelly put the Reds ahead after 5 minutes but a deflected shot from Conor McCloskey in the 32nd minute sent the sides in level at half time.
Andrew Mitchell got on the end of an Andy Hall cross to touch home his 7th league goal of the season in the second minute of the second half to put the Lurgan Blues in front but Stephen Garrett equalised on the hour mark with a header from a Ryan Catney cross.
Glenavon thought they had restored their lead six minutes later when it looked like the ball had crossed the line from a corner by Hall after Brian Neeson had saved superbly from a close range effort by Mitchell from Mark Sykes’ cross.
Josh Daniels then had a shot cleared off the line but Cliftonville went in front again in the 78th minute when Rory Donnelly fired home his second of the game from a rebound after Jonny Tuffey had parried Conor McDonald’s initial shot.
Five minutes later McDonald grabbed a goal himself as the hosts broke following a Glenavon corner that saw a downward header by James Singleton cleared off the line.