Marcus Harness gave the away side the lead on just seven minutes, but they were pegged back by The Black Cats just a few minutes later as Charlie Wyke converted from close-range after a superb run from Denver Hume.
Pompey restored their lead on 25 minutes after a poor pass from Grant Leadbitter was latched onto by goalscorer Harness, who then teed up John Marquis who made no mistake with his finish.
Late into the second half, Portsmouth were awarded a penalty after Luke O'Nien brought down Ryan Williams in the box.
O'Nien was sent off for a second bookable offence, and to add insult to injury for the hosts, Marquis made no mistake from 12 yards to grab his second goal of the game and to ensure all three points for the away side.
Story of the match
Portsmouth took the lead with the first chance of the game. The ball fell to John Marquis who teed up Michael Jacobs, who span on a pivot and played in Marcus Harness who slotted the ball low and hard past Lee Burge to put the visitors in front on seven minutes.
Immediately after conceding, Sunderland piled the pressure on, with their first real opportunity being a 25-yard free-kick from Chris Maguire which blazed over the crossbar.
But The Black Cats perseverance paid off and they equalised on ten minutes. A superb run from Denver Hume seen him take the ball down the left-hand side, he then cut the ball back to Charlie Wyke who made no mistake from six yards out.
Just four minutes after Portsmouth were pegged back, they should have restored their lead through Sean Raggett who had a free header in the box magnificently kept out by Sunderland goalkeeper Burge.
Michael Jacobs, who arguably had been Pompey's brightest player in the early exchanges, had a free-kick which had to be tipped over the bar by Burge.
Portsmouth were knocking on the door, and on 25 minutes, retook the lead after a terrible pass by Grant Leadbitter was pounced on by Harness, who slipped in John Marquis who managed to tuck the ball into the far corner of the net.
Hume made another sharp run for Sunderland down the left-hand side, his initial ball was blocked, but it looped into the air towards Maguire, but his volley flew over the bar.
The last chance of the half fell to the away side. Slick football from Pompey seen a cross-field pass from Lee Brown find its way to Harness, who cut inside on Jordan Willis and then unleashed a shot, but his effort was nowhere near the Sunderland goal.
Sunderland started well, but Marquis' second goal killed the game off
Sunderland started the second-half brightly as Hume whipped the ball into the box and found an unmarked Maguire, but his touch let him down and the ball was cleared by Portsmouth.
On 51 minutes, Hume delivered another good cross, this time towards Wyke, who could not get his effort on target.
Wyke had another headed effort go wide just a few minutes later, this time from a Josh Scowen free-kick.
Pompey goalkeeper Craig MacGillivray won a free-kick from a Lynden Gooch cross to relieve pressure on the away sides defence, who had been up against it since the interval.
Luke O'Nien was booked on the 70 minute mark for a cynical challenge on Ryan Williams, which denied Portsmouth a clear counter attacking opportunity.
Hume's cross evaded everyone in the box and found its way to Gooch on the edge of the box, who took a touch to get ball out of his feet before smashing the ball well over the bar.
With just 15 minutes to go, Hume drove into the box and managed to get a shot away, but the effort was blocked and hacked away by Pompey.
Marquis thought he had his second goal of the game when he headed home from a Callum Johnson cross, but the goal was ruled out by the offside flag.
On 84 minutes, Portsmouth were awarded a penalty after Williams was fouled in the box by O'Nein, who was sent off for a second bookable offence.
Marquis made no mistake from the penalty spot to almost ensure all three points on the road for Pompey.
Burge made an excellent save to deny Portsmouth a fourth, with Harness' shot being tipped past the post by the Sunderland goalkeeper.
This win on Wearside for Portsmouth sees them climb up into the play-off places, with Sunderland dropping down one place into sixth.
Sunderland given their first wake up call of the season
Sunderland - for a team who had not conceded a goal from open play until today - were breached defensively very easily by Portsmouth, who in the end should have scored more than three.
It would be harsh to blame the defence solely for the defeat, especially when you put into the equation that the midfield and forward line struggled to string more than a few passes in the final third together.
The late red card for Luke O'Nien confirmed on the spot a first league defeat of the season for Sunderland, and they must improve if they want to get a result against Rochdale in their next league game.
A massive three points for Pompey
If Portsmouth are to ever return to the Championship, it is essential they go away to the top sides in the division and win, that is exactly what they done this afternoon.
Kenny Jackett's side out-thought Sunderland - they were relentless with their pressing, and their tireless workrate did not stop until the final whistle was blown - which was a massive factor in their successes today on Wearside.
The strike force of Harness and Marquis caused the Sunderland back three all sorts of problems because the pair are so different; with one being the pacy hitman, and other being the physical, aerial threat.
Pompey deserved the three points this afternoon, and it will be interesting to see if they can keep that sort of performance level up throughout the remainder of the season.
Sunderland: Burge; Gooch, Willis, Wright, O'Nien, Hume; Scowen, Leadbitter, Power; Maguire, Wyke. (5-3-2)
Portsmouth: MacGillivray; Johnson, Whatmough, Raggett, Brown; Williams, Naylor, Cannon, Jacobs; Harness, Marquis. (4-4-2)