With a 3-1 cushion from the first leg, Arsenal managed to exorcise the demons from its round-of-32 defeat to the same opponent a little over a year ago, but it was tighter than the Gunners would have wanted.
Youssef El-Arabi scored the crucial goal for Olympiacos last season, and he was on target again to put the visitor ahead on the night.
However, the introduction of Thomas Partey and Martin Odegaard helped steady the host side, before Ousseynou Ba's red card ended Olympiacos's hopes.
Back on his former stomping ground, Sokratis was in the thick of the action inside five minutes, bravely blocking Emile Smith Rowe's effort, with both players requiring treatment.
Sokratis got a vital touch to take Nicolas Pepe's effort wide soon after, though some slack Arsenal defending saw the host caught cold from one long ball, with Bernd Leno denying El-Arabi.
Back in the fold after his north London derby omission, Pierre-Emerick Aubameyang snatched at a similarly good chance at the other end, prodding over when one-on-one with Jose Sa.
Arsenal's defence was caught napping again immediately after the restart – Konstantinos Fortounis and Jose Holebas going close.
Yet Arsenal's luck ran out in the 51st minute, El-Arabi's strike deflecting in off David Luiz after Dani Ceballos had lost possession.
Pepe's blistering first-time shot looked set to restore Arsenal's cushion in the tie on the hour, omly for Smith Rowe to inadvertently get in the way.
Aubameyang's frustrating evening was summed up by a dreadful chip late on, though Arsenal were ultimately not made to pay for his profligacy.
Ba's dismissal helped, the defender receiving a ridiculous second yellow for punching the ball away in frustration after he had fouled Gabriel Martinelli.