Glenavon 2 Glentoran 3: Brave Glenavon battled for an hour with just 10 men after keeper Andy Coleman was red carded for a moment of madness as Glentoran took the points and maintained their good away form.
Coleman raced from his line on the half-hour mark in a bid to block Jordan Stewart but lost his bearings and threw his hand up to deflect the ball for a corner when he was outside the box.
That made what was always going to be a difficult task impossible although to their credit the Lurgan outfit made the east Belfast giants sweat to the end.
Brian McCaul, who bagged 12 goals in 16 matches during a loan spell from Linfield two seasons ago, donned the gloves.
Curtis Allen, signed from Inverness to solve a goalscoring problem which threatened to blight the Glens' bid for honours, broke the deadlock in the 19th minute to take his tally to three goals in two starts.
Allen demonstrated a deadly finish when skipper Stephen McAlorum teed up the chance with a precision cross field pass.
Glenavon levelled in the 60th minute when man-of-the-match Kyle Neill curled a beauty round Glentoran's defensive wall from a 25 yard free-kick.
But just 60 seconds later Marcus Kane fired in off the post to make it 2-1 to the visitors.
The Glens eased into a 3-1 lead in the 68th minute, sub Jay Magee heading home from Stewart's left wing corner.
Glenavon pulled it back to 3-2 10 minutes from the end.
The goal from new signing Tiarnan Mulvenna, a 69th minute replacement for Winkie Murphy, climaxed a glorious move started by ex Glens star Shane McCabe.
He exchanged passes with Guy Bates before teeing up the chance for Mulvenna to set up a grandstand finish.
And the former Dundalk striker went close to nicking the equaliser four minutes from time following clever play between Mark Patton and Andy McGrory.
Victory stretched Glentoran's unbeaten run on the road to nine matches and keeps them in fourth, albeit 10 points behind Linfield.
Glenavon: Coleman; McKeown (Lindsay 85), Marshall, Murphy (Mulvenna 69), Neill; McGrory, McCabe, Martyn, McCaul; Rainey (Patton 62), Bates. Subs: McCallion, Kilmartin, Mulvenna.
Glentoran: Hogg; Garrett, Addis, Birney, Hill (McGuigan); Stewart, Henderson, McAlorum (Magee 45), Kane; Allen, Boyd . Subs: Bradley, Clarke, Morris.
Referee: Andrew Davey (Bangor).