Glentoran continued their fine away form by beating Glenavon who had keeper Andy Coleman sent-off.
Recent signing Curtis Allen fired the Glens into the lead on 18 minutes and the home side were in deeper trouble when Coleman handled outside the box.
Midfielder Brian McCaul went into goals but Glenavon levelled through a Kyle Neill free-kick on 59 minutes.
Marcus Kane shot Glentoran 2-1 up and Jay Magee headed a third before sub Tiarnan Mulvenna scored on his debut.
Mulvenna netted after Shane McCabe's shot had been partially saved by Glens keeper Aaron Hogg.
There was almost an equaliser for Glenavon when Mark Patton played the ball across the area but Hogg bravely thwarted Mulvenna.
Glentoran have now gone 10 away matches unbeaten in the league.
Allen's opening strike had come after Glenavon had made the better start.
After a strong run from deep, midfielder Stephen McAlorum found Allen who sent a fine left-foot finish across the body of home keeper Coleman.
Ten minutes later Coleman was red-carded after coming out the area and sticking up his left hand to deny Jordan Stewart as the young Glens player attempted to score with a chip.
McCaul, recently signed from Linfield, went into goal as the Lurgan men did not have a recognised goalkeeper on the bench.
Former Glentoran player Kyle Neill scored direct from a 20-yard free-kick for the equaliser but just over a minute later Kane fired Eddie Patterson's men back into the lead.
Substitute Magee headed in from a corner for 3-1 but Glenavon did not give up and Mulvenna's goal 11 minutes from time set up an exciting finish.