Former Pompey loanee Chris Maguire haunted his old side as Sunderland seized the play-off initiative.
Sub Maguire’s 62nd-minute volley gave the 10-man home side a 1-0 play-off semi-final win at the Stadium of Light.
A dreary first half burst to life after the break as the goal was followed by Alim Ozturk’s red card for a professional foul on Gareth Evans in front of a crowd of 26,610 - the Black Cats’ lowest league gate of the campaign.
Evans thumped a free-kick off the woodwork from the resulting free-kick, before Maguire cracked a shot off the post.
The result gives Jack Ross’ side the edge as they ended a run of nine games without a win against the Blues.
But it’s all still to play for ahead of the return at Fratton Park on Thursday as the sides battle it out to reach the Championship.
Pompey made three changes from the side who drew with Accrington, as Jamal Lowe, Ronan Curtis and Nathan Thompson all came in. Brett Pitman (hamstring), Lee Brown (Achilles) missed out as Bryn Morris dropped to the bench.
Sunderland were dealt a late blow as Aidan McGeady was injured in the warm-up and Lynden Gooch came into the starting XI.
There were a number of banks of empty seats as plenty of home fans opted to stay away from the Stadium of Light and watch the action on TV.
But that didn’t stop there being a lively atmosphere as Sunderland got the game underway, reflected in the game’s early tempo with forays forward from both sides.
Sunderland saw Lee Cattermole flick an early header wide from Lewis Morgan’s corner before Lowe and Ben Close had quickfire shots blocked.
The opening impetus slowly ebbed from the game, however, amid a number of offsides and stoppages for treatment.
Curtis dragged a reasonable sight of goal wide in the 24th minute, but it was Charlie Wyke who headed the best chance of the first half over the top from six yards 60 seconds later from Gooch’s centre.
There were groans as Lewis Morgan’s deep free-kick drifted out after 32nd minutes as signs of frustration started to show from the Sunderland fans.
Walkes' defending then came to the fore as he denied Wyke a clean shot on goal a few yards out, before the striker hooked over Power’s cross.
It was becoming evident the priority for Pompey was to keep things tight, with there seemingly little intent to throw bodies forward on the counter when the opportunity presented itself.
The game's first shot on target arrived just before the break, as Gooch fired a shot from 25 yards which proved a routine take for MacGillivray.
The referee missed a sly kick on Christian Burgess’ shin from Wyke five minutes after the restart, with no changes made.
Then the blue shirts converged to block Tom Flanagan’s drive from a Sunderland corner.
The home side made their first change in the 58th minute as Morgan was replaced by Chris Maguire.
Seconds later MacGillivray made a superb point-blank save to keep out George Honeyman’s header.
The opener arrived in the 62nd minute as Magure volleyed home in a superb finish from just inside the box, after Clarke headed out Bryan Oviedo’s cross.
Five minutes later the home side were reduced to 10 men as Alim Ozturk was adjudged to have committed a foul on Evans, as he broke into the box.
Pompey made a double change in the 69th minute as Viv Solomon-Otabor and Omar Bogle replaced Oli Hawkins and Curtis. Sunderland sent on Jimmy Dunne for Gooch.
The action was frantic now and Evans cracked his free-kick off the bar as play resumed, before Bogle’s shot was deflected wide by Luke O’Nien.
Maguire’s impact had lifted the home side and he again threatened as he cracked a 20 yarder off the outside of the post.
Pompey failed to make the extra man count over the game’s final chapter, with little in the way of chances created.
And that remained the case through the five minutes of stoppage time as the home side gained the upper hand.