Dungannon Swifts moved above Glenavon into ninth place in the Premiership thanks to a double from Matt Hazley.
Hazley fired home a left-foot shot from outside the box in the fifth minute, then Guy Bates and Mark Farren had chances to equalise for Glenavon.
The pair combined for the equaliser on 41 minutes when Bates headed the ball down for Farren to shoot into the net.
Hazley scored the winner from an acute angle a minute later and after the break Andy Coleman denied PJ Lavery.
Hazley's opener gave the Swifts an early boost and the home side could have made it two soon after, but Coleman saved a James Costello shot.
Bates was wide with one effort and curled another just round the post, while Johnny Curran twice denied Farren.
After the interval, Costello had a further chance and Curran produced another fine save from Farren.
Dungannon are away to Glentoran on Saturday, while Glenavon travel to face Ballinamallard.