An embarrassing moment from the Brazilian goalkeeper allowed Ezequiel Lavezzi to steal all three points for the Ligue 1 side, which progress to the last 16 as group winner.
The Ligue 1 side raced out of the blocks in the early exchanges, before taking the lead thanks to Thiago Silva's powerful header. The Portugese giant would soon equalize after a defensive lapse allowed Jackson Martinez to restore parity.
However, the visiting side would be undone by an error from its own goalkeeper, who embarrassingly let Ezequiel Lavezzi's weak effort squirm past him. Zlatan Ibrahimovic would later miss from six yards out, though the home side held on to progress as the group winner.
Carlo Ancelotti re-instated the likes of Javier Pastore back into the starting lineup, and the Argentine produced a fine assist in towards Ibrahimovic, who narrowly sliced his effort wide after just two minutes, as the Parisians aimed to rebound from their malaise over the past week.
PSG was rather more aggressive in its approach play in the opening stages with Ibrahimovic and Gregory van der Wiel somehow escaping yellow cards after rash challenges before Ezequiel Lavezzi's angled shot was deflected over in a period of domination for the French side.
Nevertheless, Vitor Pereira's side was patient as they searched for an opener. Jackson Martinez, who excelled in the side's reverse fixture against PSG on matchday two, spurned a decent chance after his opportunistic shot was blocked by a last-ditch challenge from Thiago Silva.
Les Parisiens appeared more resolute than the side that lost meekly to Nice in Ligue 1 on Saturday, as the capital club continued testing Helton in the Porto goal. First, Alex's header from a corner was well saved by the goalkeeper, before Ibrahimovic couldn't quite connect with a well-worked Van der Wiel corner as Porto remained defiant under pressure.
It would be just before the half hour where the Portuguese side would finally crack. Nicolas Otamendi's ill-timed tackle on Menez earned him a booking, but the ramifications for his side would be far greater as Silva rose magnificently to thump home a powerful header in off the crossbar for the game's opening goal.
The lead would only last four minutes, however. Porto raced through on a counterattack, led by right back Danilo whose fantastic cross met Jackson Martinez as the Colombian ghosted past the static Alex to head the equalizer and cue heavy boos from the Parisian faithful inside the Parc des Princes.
The second half commenced in much the same vigor from the French side, as Menez surged through from the left flank, cutting past a diving Otamendi and Eliaquim Mangala before seeing his low effort well blocked by Hilton.
For all of Porto's enterprising resistance, the club would once more fall behind to a calamitous error from goalkeeper Helton. Lavezzi held off his marker before his weak shot squirmed under the goalkeeper and humiliatingly crossed the line to hand the home team the advantage again on 61 minutes.
Pereira's men issued a response, but a glaring chance would subsequently be spurned. Martinez was found in an open space before his chip was denied by an on-rushing Sirigu, before former Marseille midfielder Lucho Gonzalez fired over from the rebound.
Late on, the French side's profligate finishing was evident once more as Pastore's fierce strike was spilled by Helton, before Ibrahimovic flashed the ball hopelessly wide, though it didn't matter as Ancelotti's men held on for victory.
Porto's defeat means they lose back-to-back competitive fixtures for the first time since 2009, and finish the group stage in second position. Paris Saint-Germain will enter the last 16 draw as the group winner, avoiding the likes of Barcelona and Borussia Dortmund.