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.
DID YOU KNOW?
This was Arsenal's first Champions League defeat since they lost to Barcelona in March
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."
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The referee ends the match.90:00 +2:41
Marouane Chamakh takes a shot. Save made by Balazs Megyeri.90:00 +1:53
The referee blows for offside against Marouane Chamakh. Balazs Megyeri takes the indirect free kick.90:00 +0:47 Substitution
Substitution Tasos Papazoglou replaces Rafik Djebbour.89:53
Tomas Rosicky crosses the ball.88:36
The assist for the goal came from Olof Mellberg.88:36 Goal scored
Goal! - Francois Modesto - Olymp'kos 3 - 1 Arsenal Goal scored by Francois Modesto from close range low into the middle of the goal. Olympiacos 3-1 Arsenal.88:09
Free kick awarded for a foul by Emmanuel Frimpong on Kevin Mirallas. The ball is delivered by Kevin Mirallas, Header from close in by Olof Mellberg bounces off the post.87:16
Emmanuel Frimpong gives away a free kick for an unfair challenge on Djamel Abdoun. Free kick taken by Djamel Abdoun.86:14
Kevin Mirallas challenges Tomas Rosicky unfairly and gives away a free kick. Free kick taken by Tomas Rosicky.85:16
Thomas Vermaelen takes a shot. Vassilis Torosidis gets a block in.83:41
The ball is sent over by Pablo Orbaiz, Shot by Kevin Mirallas. Save made by Vito Mannone.80:50 Booking
Booking The referee cautions Alex Oxlade-Chamberlain for unsporting behaviour.79:58
Kevin Mirallas produces a left-footed shot from close in which goes wide of the right-hand upright.78:12
The ball is crossed by Alex Oxlade-Chamberlain, clearance by Vassilis Torosidis.74:11
Tomas Rosicky takes a shot. Balazs Megyeri makes a comfortable save.73:45
The ball is delivered by Ivan Marcano.72:47
Marouane Chamakh is ruled offside. Balazs Megyeri restarts play with the free kick.71:49
Vassilis Torosidis concedes a free kick for a foul on Marouane Chamakh. The free kick is swung in right-footed by Tomas Rosicky, clearance made by Olof Mellberg.71:12
Giannis Maniatis takes a shot from long range which goes wide of the right-hand upright.
Shot from inside the area by Francois Modesto clears the bar.67:51
Outswinging corner taken from the right by-line by Kevin Mirallas.67:33
The ball is crossed by Francois Modesto, clearance by Thomas Vermaelen.65:50
The ball is crossed by Rafik Djebbour, Johan Djourou manages to make a clearance.65:50 Substitution
Substitution Tomas Rosicky joins the action as a substitute, replacing Francis Coquelin.65:50
Emmanuel Frimpong challenges Avraam Papadopoulos unfairly and gives away a free kick.64:14
Free kick awarded for an unfair challenge on Yossi Benayoun by Francois Modesto. Free kick taken by Thomas Vermaelen.63:04 Substitution
Substitution Djamel Abdoun joins the action as a substitute, replacing Torrijos David Fuster.62:47
Andrey Arshavin produces a cross.61:44
The assistant referee flags for offside against Francois Modesto. Ignasi Miquel takes the indirect free kick.61:12
Vassilis Torosidis gives away a free kick for an unfair challenge on Emmanuel Frimpong. Ignasi Miquel restarts play with the free kick.60:35
Free kick taken by Vassilis Torosidis.60:35 Booking
Booking Emmanuel Frimpong goes into the referee's book.60:26
Free kick awarded for an unfair challenge on Pablo Orbaiz by Emmanuel Frimpong.58:19
Francois Modesto gives away a free kick for an unfair challenge on Yossi Benayoun. Emmanuel Frimpong restarts play with the free kick.57:26
Vassilis Torosidis produces a cross, Headed effort on goal by Francois Modesto from inside the penalty box misses to the right of the target.56:20
The assist for the goal came from Marouane Chamakh.56:20 Goal scored
Goal! - Yossi Benayoun - Olymp'kos 2 - 1 Arsenal Yossi Benayoun fires in a goal from inside the area to the top right corner of the goal. Olympiacos 2-1 Arsenal.56:05
Centre by Ignasi Miquel.53:34
Inswinging corner taken right-footed by Kevin Mirallas from the left by-line, Shot from deep inside the area by Torrijos David Fuster clears the crossbar.52:09
Olof Mellberg takes a shot. Blocked by Sebastien Squillaci.51:44
Corner taken by Kevin Mirallas from the left by-line, save by Vito Mannone.51:11
Francois Modesto takes a shot from 12 yards. Johan Djourou gets a block in.50:46 Substitution
Substitution Ignasi Miquel is brought on as a substitute for Clarindo Andre Santos.50:29
Kevin Mirallas takes a shot. Blocked by Johan Djourou. Outswinging corner taken by Kevin Mirallas from the right by-line, Vito Mannone makes a save.48:16
Foul by Johan Djourou on Kevin Mirallas, free kick awarded. Free kick taken by Olof Mellberg.46:27
Outswinging corner taken by Kevin Mirallas from the right by-line played to the near post, Header on goal by Olof Mellberg from inside the box goes harmlessly over the target.45:56
The ball is delivered by Ivan Marcano, Giannis Maniatis takes a shot. Save by Vito Mannone.45:01
The second half begins.45:00 +5:10 Half time
Half Time It is the end of the first-half.45:00 +3:32
The ball is delivered by Clarindo Andre Santos, Header from deep inside the penalty area by Thomas Vermaelen goes harmlessly over the crossbar.45:00 +0:52
Shot by Giannis Maniatis. Vito Mannone makes a comfortable save.45:00 +0:43
Ivan Marcano crosses the ball, Thomas Vermaelen makes a clearance.44:53
The ball is sent over by Kevin Mirallas.44:07
Unfair challenge on Rafik Djebbour by Thomas Vermaelen results in a free kick. Pablo Orbaiz takes the free kick.43:33
The ball is sent over by Alex Oxlade-Chamberlain.42:37
Outswinging corner taken right-footed by Alex Oxlade-Chamberlain from the right by-line to the near post, clearance made by Olof Mellberg.40:53
Kevin Mirallas takes a inswinging corner from the left by-line to the near post, Rafik Djebbour produces a header from close range which goes wide of the left-hand post.40:21
Free kick awarded for a foul by Olof Mellberg on Marouane Chamakh. Sebastien Squillaci takes the direct free kick.40:14
Centre by Francois Modesto.39:54
Kevin Mirallas takes a shot. Blocked by Sebastien Squillaci.38:20
Clarindo Andre Santos fouled by Torrijos David Fuster, the ref awards a free kick. Vito Mannone takes the free kick.36:59 Substitution
Substitution Pablo Orbaiz joins the action as a substitute, replacing Jose Holebas.35:46 Goal scored
Goal! - Torrijos David Fuster - Olymp'kos 2 - 0 Arsenal Torrijos David Fuster gets on the score sheet with a goal from a long way out low into the middle of the goal. Olympiacos 2-0 Arsenal.35:28
Vassilis Torosidis crosses the ball.34:40
Torrijos David Fuster gives away a free kick for an unfair challenge on Francis Coquelin. Sebastien Squillaci restarts play with the free kick.31:54
Torrijos David Fuster gives away a free kick for an unfair challenge on Emmanuel Frimpong. Sebastien Squillaci takes the free kick.30:51
The ball is swung over by Alex Oxlade-Chamberlain, Effort from inside the area by Yossi Benayoun misses to the right of the goal.29:40
Free kick taken by Vito Mannone.29:40 Booking
Booking Jose Holebas goes into the referee's book.28:13
Francis Coquelin fouled by Jose Holebas, the ref awards a free kick.27:58
Drilled right-footed shot by Rafik Djebbour. Blocked by Thomas Vermaelen.26:41
Free kick awarded for an unfair challenge on Clarindo Andre Santos by Jose Holebas. Vito Mannone restarts play with the free kick.24:37 Substitution
Substitution (Arsenal) makes a substitution, with Vito Mannone coming on for Lukasz Fabianski.22:24
Kevin Mirallas delivers the ball.21:49
Shot from long distance by Kevin Mirallas goes wide of the left-hand post.20:26
Andrey Arshavin produces a right-footed shot from just outside the box that goes wide right of the goal.17:45
Andrey Arshavin concedes a free kick for a foul on Vassilis Torosidis. Free kick taken by Vassilis Torosidis.15:35
The assist for the goal came from Torrijos David Fuster.15:35 Goal scored
Goal! - Rafik Djebbour - Olymp'kos 1 - 0 Arsenal Goal scored by Rafik Djebbour from inside the penalty box low into the middle of the goal. Olympiacos 1-0 Arsenal.15:18
The ball is crossed by Giannis Maniatis, save made by Lukasz Fabianski.14:22
Inswinging corner taken from the left by-line by Kevin Mirallas.14:07
Jose Holebas crosses the ball, clearance by Thomas Vermaelen.13:43
Effort on goal by Emmanuel Frimpong from inside the box misses to the right of the target.13:20
Marouane Chamakh takes a shot. Blocked by Olof Mellberg.12:56
The official flags Kevin Mirallas offside. Sebastien Squillaci restarts play with the free kick.12:21
Clarindo Andre Santos crosses the ball.11:01
Rafik Djebbour is flagged offside by the assistant referee. Lukasz Fabianski restarts play with the free kick.9:53
Jose Holebas crosses the ball.9:26
The ball is swung over by Jose Holebas.7:59
Outswinging corner taken by Andrey Arshavin, save made by Balazs Megyeri.7:27
Andrey Arshavin takes a shot. Balazs Megyeri makes a save.5:26
Emmanuel Frimpong challenges Torrijos David Fuster unfairly and gives away a free kick. Balazs Megyeri takes the direct free kick.3:44 Booking
Booking Avraam Papadopoulos booked for unsporting behaviour.3:23
Avraam Papadopoulos challenges Emmanuel Frimpong unfairly and gives away a free kick. Johan Djourou takes the free kick.2:55
Free kick awarded for a foul by Alex Oxlade-Chamberlain on Ivan Marcano. Ivan Marcano takes the free kick.2:35
Alex Oxlade-Chamberlain concedes a free kick for a foul on Vassilis Torosidis. Vassilis Torosidis takes the direct free kick.1:57
Outswinging corner taken right-footed by Kevin Mirallas, Yossi Benayoun makes a clearance.1:18
Emmanuel Frimpong gives away a free kick for an unfair challenge on Francois Modesto. Kevin Mirallas restarts play with the free kick.1:05
The ball is sent over by Kevin Mirallas, clearance by Johan Djourou.0:00
The game kicks-off.
Live data and text provided by our data suppliers