Jose Mourinho suffered a nightmare homecoming as Porto, the club he led to the Champions League title in 2004, inflicted a 2-1 defeat on his woefully out-of-sorts Chelsea side in Group G on Tuesday.
Champions League PIX: Sergi, Suarez rescue Barca; Bayern thrash Dinamo
Manager Mourinho sprang a surprise before the game by leaving out Eden Hazard, Nemanja Matic and Oscar and the Londoners went behind after 39 minutes when Yacine Brahimi produced a surging run down the left and Andre Andre scored.
Brazil playmaker Willian equalised with the last move of the first half, curling a delightful free kick into the top corner of the net from 25 metres.
Porto then went back in front seven minutes after the break when Maicon stooped low at the near post to head a left-wing corner past keeper Asmir Begovic.
Diego Costa was agonisingly close to a second goal for Chelsea when his wicked drive from 25 metres hit the underside of the bar and came out.
But Chelsea, who won the Premier League last season but are struggling in 14th place in their domestic championship this term, could have fallen further behind at the Estadio do Dragao.
Porto laid siege to the visitors' goal in the last 20 minutes and Begovic had to be at his best to keep his team in the game.
Chelsea were denied a late penalty when Diego Costa flicked the ball around Ivan Marcano in the box and the defender deflected it away with his arm.
Overall, though, Porto were deserving winners as they joined Dynamo Kiev at the top of the group with four points from two games. Chelsea are on three while Maccabi Tel Aviv have yet to get off the mark.
Mourinho blamed his team's fifth defeat of the season on two bad moments.
"We watched dozens and dozens of repetitions of Porto taking corners," he explained. "We were completely ready for that and in a moment when the game is under control we concede a goal that is ridiculous.
"They hit the post from a similar mistake. Apart from that the game was balanced. Two ridiculous moments and we were punished."
Victory was especially sweet for Porto goalkeeper Iker Casillas as the former Real Madrid stalwart broke fellow Spaniard Xavi's all-time Champions League record by featuring in his 152nd game in the competition.
"That was our best performance of the season," said Porto coach Julen Lopetegui. "I have to congratulate my team, these three points are totally deserved.
"The players attitude was amazing, spectacular. It was tough and unfair to go to the dressing room at halftime with a draw but we reacted well."
Tetchy Wenger defends selection
Arsenal's hopes of advancing from the Champions League group stage for the 16th straight season were left dangling by a thread after they lost an astonishing clash 3-2 to visiting Olympiakos Piraeus on Tuesday.
The Gunners have now lost their opening two group matches for the first time ever following their 2-1 defeat at Dinamo Zagreb two weeks ago and are bottom of Group F, six points behind leaders Bayern Munich, who they have to play twice.
Olympiakos, whose 12 previous visits to England since 1965 all ended in defeat, scored as many goals in this match as they had managed in the last 50 years in England, and have three points along with Dinamo, who were beaten 5-0 at Bayern.
The defeat left Arsenal manager Arsene Wenger in a tetchy mood when he faced the media at the post-match news conference.
His team selection was criticised when they played in Zagreb and he came under renewed questioning after this loss especially about his decision to play No.2 stopper David Ospina instead of first choice Petr Cech. He was unusually curt with his answers.
"I make the decisions and the selections for the team and I am responsible for it. I know many things that maybe you don't know and maybe ignore," he said.
"You cannot select the team by making a poll before the game and getting everyone's opinion."
"It leaves us in a bad position but we are still in it," added Wenger. "We have to think we can beat Zagreb here and Olympiakos away from home and get a result in our next game against Bayern at home, but we are not out of it."
Greek lead
Olympiakos, who had lost their last five Champions League away games and their last six in all European competition took the lead against the run of play when Felipe Pardo's 32nd minute shot was deflected by Alex Oxlade-Chamberlain past Ospina.
Arsenal were level three minutes later when Theo Walcott scored from a tight angle but Olympiakos went in front again when Ospina mishandled a corner and dropped the ball over his line with the fifth official signalling a goal.
Alexis Sanchez equalised for the hosts with a neat header in the 65th but almost immediately Icelandic substitute Alfred Finnbogason put Olympiakos ahead again.
The visitors carved their way through an unusually shambolic Arsenal defence, disrupted by the loss of Laurent Koscielny who went off with a hamstring injury after 57 minutes.
A key moment came though when Ospina made a calamitous mistake to gift Olympiakos a 2-1 lead five minutes before the break, the keeper failing to collect an inswinging corner when unchallenged and allowing the ball to drop over the line.
"It's always a simple thing to say Ospina should not have played. He played 19 games last season and kept 14 clean sheets and last week at Tottenham he had a fantastic game," said Wenger.
"No goalkeeper is mistake-free -- it could have happened to Petr Cech as well. But I don't have to sit here and give you an explanation of every decision I make. We did not lose the game because of that mistake, that's a farce."
Ospina's own goal was the third goal in an eight-minute spell after Pardo and Walcott traded goals.
The next arrived when Sanchez headed in Walcott's precise cross in the 65th but a minute later Finnbogason finished off a neat passing move to with what proved to be the winner and left Arsenal with a mountain to climb to reach the last 16 again.
Hulk inspires Zenit to best European start
Oleg Shatov's winner and a fine performance from Hulk helped Zenit St Petersburg beat a spirited Ghent 2-1 in the Champions League on Tuesday.
The Group H win means Andre Villas-Boas' side have a maximum six points from their first two games, their best start in the competition.
Artem Dzyuba gave the hosts the lead after 35 minutes from a Hulk cross but the Belgian side drew level 10 minutes into the second half with a Thomas Matton volley before the Brazilian laid on the winner for Shatov in the 67th.
Zenit found the going difficult against an organised Ghent side, who were more than comfortable on the ball in the opening stages.
Dzyuba had the first opportunity of the game but sent the ball wide from close range after good work on the right flank from Igor Smolnikov, but he soon made amends.
A searching pass from captain Danny put Hulk through on the left. The Brazilian showed the strength his name suggests to hold off the challenge of Rafinha, before standing up an inch perfect cross which was met by a towering header from the Russian international, powering the ball past Matz Sels.
The goal shocked Ghent, but the Belgian side showed fine resolve to draw level.
Captain Sven Kums clipped the ball towards the far post and the in-form Matton sent a fine right-footed volley past the despairing dive of Mikhail Kerzhakov, to net his fourth goal in three games.
The goal sparked Zenit into life, and they were roared on by a partisan home crowd at the Petrovsky Stadium.
Hulk was once again in the thick of things as his second assist helped restore the reigning Russian champions' lead in the 67th minute.
The Brazilian's fine pass put Shatov through on the left of the area and the 25-year-old had time to take a touch before lifting the ball over Sels to make it 2-1.
Zenit easily held on for victory and their next match is at home against Olympique Lyonnais, while Ghent travel to Valencia.
Dynamo Kiev outclass Maccabi to secure 2-0 away win
Dynamo Kiev secured a comfortable 2-0 victory at Maccabi Tel Aviv as a goal in each half from Andriy Yarmolenko and Junior Moraes helped them record their first win in Champions League Group G on Tuesday.
The Israelis were undone by the pace and strength of their opponents, who scored early and never looked back despite Maccabi's desperate efforts to claw a way back.
The Ukrainians sit joint top of the group alongside Porto with four points, after they drew 2-2 at home to the Portuguese in their first fixture two weeks ago.
Yarmolenko quickly set the visitors on their way when in the fourth minute, he ran behind the Maccabi defence to latch on to a through ball from Derlis Gonzalez and slotted home easily.
Maccabi took time to shake off the jitters that had been very apparent when they lost 4-0 to Chelsea in their first group game in London two weeks ago and they started to gain in confidence as Dynamo eased off.
Yet the Israelis were unable to make their possession tell and Moraes made it 2-0 in the 50th minute with a powerful shot from the edge of the area as Gonzalez again provided the assist after a surging run from the left.
That strike not only put the result beyond doubt but very clearly outlined the differences between the two sides, with Maccabi desperately trying to match the pace of their far more experienced opponents.