Marcus Harness continued his fine run of goalscoring form by hitting Pompey’s late winner against AFC Wimbledon at Fratton Park.
The home side had to recover from falling behind following a terrible penalty decision, with Nesta Guinness-Walker’s theatrical tumble fooling the referee.
Ollie Palmer converted from the spot and it took until midway through the second half before Michael Jacobs finally got the equaliser.
Time was ticking away in the search for a winner, but Harness finally slotted home a seventh goal in his past 11 outings.
Danny Cowley made two changes from the side that impressively won at Wycombe the previous week.
Gavin Bazunu reclaimed his place between the sticks after returning from international duty, while there was a first league start of the season for Jacobs.
Alex Bass and Miguel Azeez both dropped to the bench, where they were joined by fit-again striker Ellis Harrison.
Before kick-off, a minute’s applause was held to pay tribute to 1979/80 promotion-winning skipper Joe Laidlaw, who passed away earlier in the week.
Pompey came charging out the blocks once the action began and Harness combined neatly with Jacobs.
The latter’s square pass looked like it would leave George Hirst with a simple finish, only for Paul Osew to make a timely interception.
Palmer then collected a pass from Luke McCormick at the other end, with his drive claimed at the second attempt by Bazunu.
But it was the Blues looking more likely to break the deadlock and some impressive pressing saw them win possession high up the pitch.
A neat Harness back-flick sent Jacobs through on goal, but Nik Tzanev spread himself well to make the save.
The home side were playing with real energy and causing plenty of problems, only to fall behind following a terrible refereeing decision.
Guiness-Walker and Ronan Curtis were shoulder-to-shoulder in the Blues box and the Dons defender threw himself to the ground.
Thomas Bramall was fooled, though, and pointed to the spot, much to the astonishment of the home side, their coaching staff and practically everyone inside Fratton Park.
Former Hawks striker Palmer stepped up to take the penalty and coolly sent it straight down the middle to find the net.
Pompey set about trying to find an equaliser and thought it had arrived when Lee Brown cut the ball back for Harness to slot home.
Bramall again incurred the wrath of the home faithful, though, by blowing for an earlier foul on Curtis.
The home side recovered from a ragged spell to the finish the half strongly and Tzanev beat away a long-range Curtis attempt.
And the keeper made an even better save moments later, this time stopping Harness from converting a clever Jacobs pass.
But a poor Bazunu kick almost led to a second goal for the visitors just before the break, with the Republic of Ireland international recovering well to deny McCormick.
Half Time: Pompey 0 AFC Wimbledon 1
AFC Wimbledon went close again following the restart after Osew escaped down the right and found McCormick in the box.
The midfielder’s effort was heading for the net, but Sean Raggett slid in to make a timely block and keep the deficit at just one goal.
Cowley made his first switch on 53 minutes, with Hirst withdrawn and Reeco Hackett joining the forward line.
And another one soon followed, as Joe Morrell – back from international duty with Wales – replaced Louis Thompson.
The newcomer soon combined with Harness to release Mahlon Romeo, who surged half the length of the pitch before firing in a low shot that was kept out by Tzanev.
Wimbledon’s stopper had arguably been their best player, but will feel he could have done better with Pompey’s leveller on 63 minutes.
JACOBS collected a pass from Lee Brown and cut inside from the left before hitting a low shot that the keeper could only help into the net.
There might have been another goal for the hosts soon after, but Tzanev redeemed himself by keeping out a dipping Curtis free-kick.
They still had to stay alert at the other end, though, and Jack Rudoni wasted a decent opening by dragging the ball wide.
Bazunu then dived acrobatically to his left to cling onto a long-range effort from Osew, as the action continued to switch from one end to the next.
Cowley made one last attacking throw of the dice on 83 minutes, with the tiring Jacobs replaced by Harrison.
Bazunu then did well to dive at the feet of Osew inside the area after the Wimbledon right-back had found some space.
Pompey threw bodies forward in search of another goal, but time appeared to be running out on them.
Then, with just a minute of normal time remaining, HARNESS collected a Morrell pass and hit a low shot that clipped the inside of the post on its way into the net.
There was still time for a bit more late drama, as a Dons corner found substitute Ethan Chislett, whose shot was claimed by Bazunu.
Pompey (4-4-2): Bazunu; Romeo, Raggett, Ogilvie, Brown (c); Harness, Thompson (Morrell 56), Williams, Jacobs (Harrison 82); Curtis, Hirst (Hackett 53)
Goals: Jacobs 63, Harness 89
Subs not used: Bass, Freeman, Azeez, Gassan
AFC Wimbledon (4-2-3-1): Tzanev; Osew, Heneghan, Czoka, Guinness-Walker; Hartigan, Woodyard (c); Assal (Chislett 82), McCormick (Marsh 76), Rudoni; Palmer (Pressley 76)
Goals: Palmer 24 (pen)
Subs not used: Oualah, Charles, Jenkins, Mebude
Referee: Thomas Bramall
Attendance: 16,234 (910 away fans)