Glenn Loovens saw red for a professional foul just after the break, the Black Cats unraveling after an encouraging first half display.
Kenny Jackett's side took full advantage run out 3-1 winners, the extra man making all the difference as they overran their opponents.
With Luton Town winning again, Sunderland are now four points off second place.
It was their first league defeat since losing 2-1 to Burton Albion in September.
From the off it was clear that this was a clash between two powerful and well-balanced sides.
Jack Ross sprung a small surprise by picking Duncan Watmore, the striker joining Lynden Gooch up front in a 4-1-3-2 formation.
The plan was clearly to try and use their pace to find joy in the channels.
Portsmouth, playing in front of their biggest crowd for seven years, started by playing with real tempo but there were very few chances. Sunderland kept it tight and had the first real effort when Luke O'Nien, standing in at right-back, gathered a loose ball on the edge of the area and fired at goal, Nathan Thompson doing well to clear with his head.
Both sides were eager not to overcommit but Watmore, well marshaled in the opening moments, did well to spring free on the right flank 35 minutes in.
He was almost able to find Max Power with a cross from the byline but the defence did well to steer the ball into the arms of Craig MacGillivray.
Watmore forged the best chance of the game just before the break when he pounced on a loose ball and advanced towards goal.
His pass found Gooch in the box but MacGillivray did well to narrow the angle and was able to block his shot.
Jon McLaughlin had made it to the break without having to make a save but within minutes of the restart, the game had been turned on its head.
Glenn Loovens was caught out by a ball in behind and tripped Oli Hawkins as he went to shoot.
Gareth Evans smashed the penalty into the top corner and soon it was two.
Ross swapped Duncan Watmore for Alim Ozturk, but the defender could do little as Ronan Curtis raced free down the left, finding the far corner with a good finish.
Sunderland looked down and out but gave themselves an unlikely lifeline as the hour approached.
Reece James did superbly to create an opening down the left, the defender finding Max Power who sent across a wonderful cross to the back post. The onrushing Luke O'Nien had an easy finish to halve the deficit.
That lifeline lasted a matter of minutes.
Jon McLaughlin made a fine save from a corner but the loose ball was driven into the roof of the net by Ben Thompson, who had been booked for nasty challenge not long before.
Sunderland had not been beaten this season when going down to ten and can be rightly proud of that record.
With the crowd behind them, however, Portsmouth were too powerful to let the opportunity slip.
They ought to have made it 4-1 when Hawkins rose at the back post, heading a good cross wide.
Sunderland battled but created precious little, falling to a disappointing defeat.
Sunderland XI: McLaughlin; O'Nien, Loovens, Baldwin, James; Power, Cattermole, Honeyman (Maguire, 58); McGeady (Sinclair, 78), Gooch, Watmore (Ozturk, 48)
Subs: Ruiter, Oviedo, McGeouch, Maja
Portsmouth Xi: MacGillivray; Thompson, Whatmough, Clarke, Brown; Naylor, Thompson; Lowe, Evans (Close, 71), Curtis (Green, 87); Hawkins (Pitman, 80)
Subs: Bass, Walkes, Burgess, Wheeler
Bookings: Hawkins, 27 Curtis, 52 Honeyman, 54 Thompson, 60
Red Card: Loovens, 48
Attendance: 19,402 (2,637 away)