Two quick-fire goals from Ricardo Quaresma set the early tone in Portugal and although the Bundesliga leaders scored a potentially vital away goal through Thiago Alcantara, Jackson Martinez's second-half strike leaves Bayern with a mountain to climb in next week's return leg at the Allianz Arena.
Teething problems for Bayern
Already deprived of a long list of key players due to injury, the last thing Bayern wanted was the start they got at the Estadio do Dragao. Manuel Neuer felled Martinez inside the penalty box within two minutes, and Quaresma sent the Germany no1 the wrong way from the spot. It did not stop there for the Germans either, as Porto kept their finger firmly on the pulse.
A second goal followed with Dante losing possession under pressure from Quaresma, who then held his nerve to slot past Neuer. Concerned Bayern faces only slowly started to turn more positive, and they were given hope when Jerome Boateng burst down the right and sent in a cross which was turned in by the unmarked Thiago for a potentially crucial away goal.
Up against it
Porto almost grabbed a third before the break with Neuer fumbling a deflected cross onto his own bar. Bayern, so used to dominating possession, found themselves having to hold on as Neuer made a stunning stop from his own team-mate, Jerome Boateng, on the hour mark to prevent the Bavarians from slipping further behind.
However, the hosts increased their lead midway through the second half, with Martinez skipping past the last line of the Bayern defence before turning the ball in from a tight angle. The guests' late efforts came to no avail as the clock ticked down on a defeat which leaves their hopes of reaching the last four of Europe's premier club competition hanging by a thread, albeit with that away goal which may make all the difference in Munich next week.
Porto: Fabiano Freitas - Danilo, Maicon, Martins Indi, Alex Sandro - Casemiro - Herrera, Oliver Torres (Ruben Neves 75') - Quaresma (Evandro 85'), Brahimi (Hernani 80') - Jackson
Bayern München: Neuer - Rafinha, Boateng, Dante, Juan Bernat - Xabi Alonso (Badstuber 74') – Lahm, Thiago – Götze (Rode 56'), Müller - Lewandowski
Goals: 1-0 Quaresma (3' pen.), 2-0 Quaresma (10'), 2-1 Thiago Alcantara (28'), 3-1 Martinez (65')