Glentoran scored their first win in five outings with a fine victory over Glenavon.
The Lurgan Blues almost went in front on eight minutes when Kris Lindsay headed over an Andy Hall free kick.
At the other end they almost conceded when a poor header back towards Jonathan Tuffey from Conor Dillon allowed Chris Lavery in.
He got around Tuffey and shot at goal, but Dillon did well to get back and clear off the line. Glentoran were enjoying a purple patch and could have gone in front when a Ciaran Caldwell free kick was headed wide by Callum Birney.
And they got in front on 19 minutes when a quickly taken free kick by Jonny Addis found Curtis Allen.
He grabbed his opportunity with both hands, firing past Tuffey with a powerful drive. On the half hour mark Glenavon almost brought the scores level when a Dillon cross found Kearns, but his header was cleared off the line by Birney.
The hosts came out for the second half reinvigorated and had a shout for a penalty when Joel Cooper was brought down in the box after a Kearns shot was blocked, but referee Tim Marshall awarded a corner instead.
Then Morris saved a tame Kris Lindsay header from a Hall cross, before Glenavon pulled. Cooper’s corner from the right was knocked down for Kevin Braniff to rocket home a volley from close range on 55 minutes.
Jonathan Smith volleyed over and Jay Magee forced Tuffey to scoop the ball away a shot with a fantastic save before the Glens restored their lead on 68 minutes.
Substitute Chris Morrow fed the ball to Allen, who cut in from the right, jinked past Lindsay and fired his shot low past Tuffey.
Glenavon almost levelled when Cooper beat an offside trap to play a ball across the face of goal for sub Gary Hamilton, but Birney was in the right place to touch it away.
Jonathan Smith made sure of the points when he drilled his shot low and hard past Jonathan Tuffey. Allen could have had a fourth but his stoppage time penalty hit the bar and went over.
GLENAVON: Tuffey, Kelly, Dillon, Lindsay, Marshall, Cooper, Hall, Sykes, Braniff, Kearns, Martyn. Subs: Kilmartin (Sykes 72), M Patton, McGrory, O’Brien (Lindsay 84), Hamilton (Kearns 72).
GLENTORAN: Morris, Holland, Birney, Magee, Allen, Lavery, Addis, Gordon, Caldwell, Smith, McCullough. Subs: Gibson, Scullion, Morrow (Gordon 46), D Patton, Hogg.
REFEREE: Tim Marshall (Irvinestown)