Both teams had already qualified for the last 16 before this fixture with only the pool winners to be decided.
Porto had started the day one point ahead of their French hosts, but could only muster a single goal from Jackson Martinez and had to settle for the runners-up spot.
And the hosts looked lively in the opening stages, with star striker Zlatan Ibrahimovic firing wide of the right post before Gregory van der Wiel stung the palms of visiting goalkeeper Helton.
Helton was tested again after 17 minutes by a header from Alex, while Javier Pastore volleyed inches over the bar as PSG continued to push for an opening goal.
Porto were struggling to contain their opponents and had their goalkeeper to thank once more after 23 minutes when he held on to a left-footed drive from Blaise Matuidi.
However, the deadlock was finally broken after 29 minutes by Thiago Silva, who rose to meet a free-kick from Maxwell before powering a header into the top left corner.
Porto's first real chance of the match came four minutes later and, surprisingly, produced an equaliser. Danilo fired in a cross from the right and Martinez was precise with a header from six yards out.
PSG came close to regaining their advantage two minutes before the break, though, with Helton again the hero in tipping an Ibrahimovic header over the bar.
The Parc des Princes hosts continued to press in the second half but Helton was proving something of an obstacle, pushing away a Jeremy Menez effort.
However, Menez took his revenge on the hour mark when he helped put PSG back in front. The forward provided a ball into the area for Ezequiel Lavezzi to despatch into the bottom right corner.
Porto again tried to spark a response and gave their opponents an almighty scare after 70 minutes when Martinez's attempted lob was fisted away by Sirigu but only as far as Lucho Gonzalez, who wasted his follow-up by blazing over the bar.
Both teams had further chances to score as the clock ticked down but Sirigu was equal to a strike from Silvestre Varela while Helton palmed away a shot from Javier Pastore.