Pompey were dealt a late blow, as AFC Wimbledon scored a stoppage-time winner at Kingsmeadow to end their three-match unbeaten run.
Both sides had earlier chances to secure victory, with Christian Burgess and Anthony Wordsworth striking the woodwork.
It was the Blues who looked more dangerous, though, and Nathan Trott was kept busy between the sticks.
The points looked like being shared, only for Terell Thomas to head past Craig MacGillivray’s grasp right at the death.
It was a disappointing way for Gareth Evans to make his 200th appearance for the club – becoming just the third man to achieve that feat in the 21st century.
Kenny Jackett made three changes from the side that drew with Gillingham on home soil the previous week.
MacGillivray returned from international duty to replace Alex Bass between the sticks, while John Marquis came in for the injured Brett Pitman.
Ryan Williams also started out wide, as Pompey switched to a 4-2-3-1 system, with Ellis Harrison dropping to the bench.
Both sides looked dangerous on the break during an opening 45 minutes that saw play quickly switch from one end to the other.
The visitors had the first opportunity to break the deadlock, although Marcus Harness hit his effort into the turf and the ball bounced over.
Burgess then had to bravely fling himself into the path of a shot from the lively Marcus Forss to avert the danger.
Pompey were next to go close and after doing well to bring the ball down, Marquis prodded a shot past the post.
The see-saw nature continued with the Dons going close to breaking the deadlock on 13 minutes and it took a brilliant Lee Brown block to stop Forss.
A quick counter led to another Blues’ opening moment later, as Marquis collected Harness’ pass, held off his man and sent the ball rolling agonisingly wide.
Tom Naylor might have done better midway through the half after charging in to meet James Bolton’s dangerous delivery and heading over.
It was a bright period for the visitors and Burgess nodded against the crossbar after connecting with a Brown cross.
The danger was not over for Wimbledon, however, and Sean Raggett’s follow-up header was claimed by Trott.
There were a couple of bookings for Pompey and while Brown was right cautioned for fouling Scott Wagstaff, it was a harsh yellow for Marquis for simply standing his ground.
Bot sides had one more decent opportunity to forge ahead just before the break, with Trott getting down well to deny Evans.
Joe Pigott then spotted MacGillivray off his line and tried to lob him, only for the ball to fly narrowly wide.
AFC Wimbledon 0
It looked like the hosts had been awarded a penalty just after the restart when Pigott went down under Burgess’ challenge.
Referee Sam Purkiss seemed to point to the spot, only to eventually award a free-kick right on the edge of the box.
But it still almost led to a Wimbledon goal, as Forss hit a ferocious effort that flew through the wall and was superbly beaten away by MacGillivray.
Another free-kick for the Londoners was curled around the wall by Wordsworth, although it was easily dealt with by the Pompey stopper.
Jackett made a double switch just before the hour mark, as Williams and Marquis were withdrawn for Ronan Curtis and Harrison.
And the latter was almost gifted a bizarre goal moments later, charging down Trott’s clearance and seeing the ball ricochet just wide.
Harrison was proving a menace and after collecting Bolton’s ball into the box was unable to get enough on his header to trouble Trott.
Pompey had struck the woodwork before the break and it was the Dons’ turn on 65 minutes, with Wordsworth’s drilled effort cannoning back off the inside of the post.
Harrison then had two men on him as he tried to meet Bolton’s cross, but still managed to get a header away that was saved by Trott.
Some sloppy play at the back gave the Blues another opening, with Paul Kalambayi’s desperate block stopping Curtis’ shot testing the keeper.
The loose ball then came out to skipper Tom Naylor, whose drive was fierce, but straight at a grateful Trott.
Ben Close eyed up one of his special strikes from the edge of the box when a free-kick was only partially cleared, but the ball could not quite find its way through a sea of bodies.
Jackett’s final change came on 81 minutes and saw Andy Cannon replace Harness, with Evans moving out wide.
Pompey were looking the more threatening side in the closing stages and Trott did well to smother Close’s low attempt.
Curtis then spun and curled a shot wide following good work from Brown, who managed to avoid a late Scott Wagstaff lunge that earned the Dons skipper a booking.
The display of four additional minutes gave travelling fans hope that their side could score a late winner.
But it was the Dons celebrating when, with just seconds remaining, Thomas glanced home Max Sanders’ free-kick.
It was harsh on Pompey and there was not enough time left for them to mount any more meaningful attacks.
AFC Wimbledon (3-5-2): Trott; Kalambayi, Delaney, Thomas; Wagstaff (c), Sanders, Wordsworth, Pinnock (Hartigan 76), Osew; Pigott, Forss (Appiah 85)
Goals: Thomas 90+3
Subs not used: Tzanev, Madelin, Stabana, Guinness-Walker, McLoughlin
Pompey (4-2-31): MacGillivray; Bolton, Burgess, Raggett, Brown; Naylor (c), Close; Williams (Harrison 57), Evans, Harness (Cannon 81); Marquis (Curtis 57)
Booked: Brown, Marquis, Raggett
Subs not used: Bass, Downing, Haunstrup, McCrorie
Referee: Sam Purkiss
Attendance: 4,525 (712 Pompey fans)