Under-par Arsenal suffered defeat in Greece but still advanced to the last 16 of the Champions League after finishing Group F winners.
Goals by Rafik Djebbour, David Fuster and Francois Modesto earned Olympiakos victory - but they failed to go through after a dramatic Marseille win.
Yossi Benayoun netted Arsenal's consolation from 15 yards.
But on a bad night for Arsene Wenger's side, keeper Lukasz Fabianski and Andre Santos both went off injured.
It was not the performance Wenger wanted as the Frenchman marked his 200th European game in charge - 44 for Monaco and 156 for Arsenal.
His players were guilty of giving away possession far too easily while Olympiakos will be wondering how they did not win by a more handsome margin.
With his team having already secured top place in Group F, Wenger made nine changes to the one which crushed Wigan 4-0 on Saturday.
Yet his mixture of fringe players and youngsters endured a terrible first-half in which they conceded twice and lost Fabianski.
Arsenal were sloppy from the start and although Andrey Arshavin was denied by Olympiakos keeper Balazs Megyert following Marouane Chamakh's powerful eighth-minute run, the hosts were ahead in the 17th minute.
Johan Djourou and Sebastian Squillaci were unable to cut out Fuster's pass which allowed Djebbour to round the keeper to slot in from a tight angle.
It was just the start the reigning Greek champions wanted and it went from bad to worse for Arsenal when Fabianksi injured his knee and had to be carried off on a stretcher after 25 minutes following a melee inside the visitors penalty area.
Fabianski's exit paved the way for Vito Mannone - whose last outing was on loan at Hull in April - to make a rare appearance.
But the 23-year-old Italian keeper was guilty of the blunder which allowed the Greeks to double their lead in the 36th minute.
Mannone was left embarrassed after racing out to the edge of his area to head clear under pressure from Kevin Mirallas - only then to make a complete hash of attempting to scissor-kick the ball clear when it was returned over him by Fuster.
Arsenal were fortunate to go in at the interval 2-0 down as Djourou gave the ball away to Giannis Maniatis in the penalty area, but his curling effort was held by Mannone.
Wenger was forced into another change when Santos had to be helped off with what looked like a leg injury, replaced by 19-year-old Spaniard Ignasi Miquel.
And Miquel made an immediate impact when the substitute's floated cross was chested down by Chamakh and Benayoun drove the ball into the far corner in the 58th minute.
Mannone then almost hit the self-destruct button again as he failed to collect a loose ball when Thomas Vermaelen stood off - and somehow Modesto headed wide of an open goal from six yards.
But Arsenal's misery was complete when Modesto tapped home after Olof Mellberg's header came back off the post in the 89th minute.
However, it was still not enough to take Olympiakos through after the late drama in Germany where Marseille scored twice in the closing stages to defeat Borussia Dortmund.
Arsenal manager Arsene Wenger said: "Fabianski felt a deep cut on the knee and Santos suffered a bad ankle injury. He looks like he will be out for a while.
"We have [Kieran] Gibbs coming back in two to three weeks. Hopefully Santos will not be too long but, for Saturday against Everton, he looks to be short. We have as well Vermaelen who can play in his position.
"We must give credit to Olympiakos because they played a very physical game and in the first half it was very difficult for us. I don't think we had the right tactical approach.
"In the second half at 2-1 we looked like we might come back, but they were dangerous and probably deserved it. Many of the players did not have experience in the Champions League so were a bit surprised by pace of game.
"We didn't help our goalkeepers. We exposed them with our lack of quality in the passes we gave them and they were quite brave."