Calum Birney scored two goals as Glentoran twice came from behind to beat a battling Dungannon Swifts side.
David Armstrong headed in from Matt Hazley's corner in the 33rd minute but Birney headed home to equalise from six yards out a minute later.
Andrew Mitchell converted a Cormac Burke cross on 68 minutes but Johnny Addis levelled again within a minute.
Birney poked the ball home with his head on 75 and Curtis Allen rifled into the net from outside the box after 80.
Allen had forced Andy Coleman into a fine save in the first half, while Paul McElroy was twice denied by Aaron Hogg in the first five minutes.
Addis's goal came after he ran through the Swifts defence while Birney took advantage of confusion in the home defence to net his second of the game.
The Glens move up to sixth in the Premiership table, while the Swifts remain 10th.