An 83rd-minute goal by James Rodriguez earned Porto a 1-0 home win over Paris Saint-Germain in Champions League Group A that ended the French side's unbeaten start to the season.
The trip to Estadio do Dragao was PSG's most testing assignment of the campaign to date and they had to withstand heavy pressure before Colombian international Rodriguez swept home to reward the home side's attacking endeavour.
PSG had won their previous five matches in all competitions and seemed to be building up a head of steam, but ahead of Sunday's trip to arch-rivals and league leaders Marseille in Ligue 1, their momentum has been checked.
The result leaves Porto three points clear of PSG in the pool, while the club from the French capital have now gone ten successive games without a win in Europe's elite club competition.
PSG coach Carlo Ancelotti made five changes to his star-studded line-up, with Nene replacing Javier Pastore in the most noteworthy adjustment, but it was Porto who made the early running. Visiting goalkeeper Salvatore Sirigu was called into action as quickly as the third minute to field a poked effort from Rodriguez, while Joao Moutinho shot into the side netting moments later after Jackson Martinez had robbed Marco Verratti.
Most of the damage was being inflicted down PSG's right flank, where Gregory van der Wiel was making his competition debut for the club, and Sirigu had to produce a fine save in the 28th minute to repel Rodriguez's low drive after the Colombian raced into the area from that side.
Porto left gaps at the back, however, and Zlatan Ibrahimovic twice squandered good opportunities to make them pay. In the 12th minute he headed wide of the near post from Nene's left-wing cross and eight minutes later he opted for a curious looping flick after Jeremy Menez picked him out in the Porto box, allowing Helton to touch the ball over the crossbar.
It was PSG's only attempt on target of the first half - against five for their hosts - and the song remained the same in the second period. Rodriguez shaped a left-footed half-volley narrowly wide shortly before the hour and seconds later, Sirigu had to sprint from his line to block with his legs from Silvestre Varela after Moutinho released his Portugal team-mate.
Ancelotti withdrew van der Wiel and Menez, replacing them with Christophe Jallet and Ezequiel Lavezzi, and former Napoli man Lavezzi could have put his side ahead in the 76th minute had he not curled the ball straight at goalkeeper Helton. Jallet did not fare much better. The France right-back was completely skinned by Varela shortly after, but the winger's fierce left-foot shot was repelled by Sirigu.
It appeared PSG had done enough to salvage a point, but Rodriguez would not be deterred. After Fernando's left-wing cross was allowed to reach the back post, the Colombian opened his body superbly to guide a fine shot around Sirigu's outstretched right hand and put Vitor Pereira's side in control of Group A.