Classy Porto put three past a careless Bayern Munich
Porto 3-1 Bayern Munich
Ricardo Quaresma scored twice in the opening 10 minutes - the first a penalty - thanks to gifts from Bayern, and although the Germans got a goal back through Thiago Alcantara in the 27th minute, Jackson Martinez capped a fine night for Porto in the 65th.
Bayern must find a way back in Germany if they are to reach the semi-finals for a fourth consecutive season.
Bayern captain Philipp Lahm said: "We were looking good when we pulled a goal back, but when Porto made it 3-1, that hurt us. Nevertheless, there is everything to play for in the second leg."
The match exploded into life when Porto were awarded a penalty with barely a minute gone.
Martinez was brought down by Manuel Neuer and Quaresma sent the goalkeeper the wrong way from the penalty spot.
Minutes later, Porto doubled their lead with Dante this time at fault as Quaresma stole the ball away and poked it past Neuer.
Bayern looked stunned but stayed calm and sought to play their way back into the match.
They got their reward in the 27th minute when Jerome Boateng sent in a low cross which somehow got through a crowd of players before Thiago hung out a leg and hooked it in.
Porto's third goal came in the 65th minute thanks to yet another defensive howler as Boateng misjudged a deep ball, allowing it to bounce and Martinez swept it up before rounding Neuer and finishing from a tight angle.
Bayern simply had no answer to Porto's oozing confidence.
FC Porto: Fabiano, Danilo, Maicon, Martins Indi, Alex Sandro, Herrera, Casemiro, Oliver (Neves 75), Quaresma (Goebel 84), Martinez, Brahimi (Fortes 80).
Goals: Quaresma (pen) 3, 10, Martinez 65
Subs not used: Helton, Quintero, Reyes, Aboubakar.
Bayern Munich: Neuer, Rafinha, Boateng, Dante, Bernat, Lahm, Alonso (Badstuber 74), Thiago, Muller, Lewandowski, Gotze (Rode 56).
Goal: Thiago 28
Subs not used: Pizarro, Gaudino, Reina, Weiser, Lucic.
Referee: Carlos Velasco Carballo (Spain)
Porto capitalised on a string of defensive mistakes to beat Bayern Munich 3-1 in the first leg of their Champions League quarter-final.