Wanderers suffered a first defeat in 12 games as Portsmouth were allowed to cement their place at the top of the League One table, writes Pete Oliver.
The Whites knew they could overhaul Pompey in the promotion race if they could become only the second team to beat the leaders in the league this season.
But Ian Evatt’s men ultimately came up well short in their bid to secure an 11th victory from the dozen games they have played since last tasting defeat to Carlisle United in early October as their climb back towards the summit was halted.
Wanderers more than matched Portsmouth in a frenetic first half and should have led when top scorer Dion Charles for once fluffed his lines in front of goal and let the hosts of the hook.
But once Pompey grabbed the lead in first-half stoppage time, Wanderers were unable to respond in a disappointing second-half performance which rarely threatened to bring them any reward before John Mousinho’s side guaranteed maximum points for the 13th time in 20 games this season thanks to a late second.
For such a heavyweight clash with two impressive records on the line it was no surprise to see such a frantic start as the sides sparred for supremity in front if the live Sky Sports cameras.
And once they had taken the early stint out of the contest, it was Wanderers who went closest to delivering the first blow.
A superb cross on the turn from George Thomason was only inches away from being converted by Jon Dadi Bodvarsson as the striker looked to mark his first league start of the season with a goal as he went flying into the six-yard box.
With a quarter of an hour gone Paris Maghoma then announced himself with two superb runs into the penalty area to create an opening for Charles and then go close himself.
Portsmouth’s best early opening fell to the dangerous Kusini Yengi but he opted not to shoot and half an hour in, Wanderers should have taken the lead and a grip on the game.
Again Maghoma had the Pompey defence on the retreat before crossing for Bodvarsson to connect with a powerful downward header.
Will Norris made an excellent save low down to his left to deny the Icelander the goal his impressive performance merited but could only push the ball out to Charles, who somehow steered his effort wide of the target from a matter of yards out.
At the other end, Nathan Baxter got down well to save from on-loan Manchester City midfielder Alex Robertson as the tempo barely dipped in a lively contest in which the opening goal appeared vital.
Wanderers had looked the more likely to get it but then having survived a scare when it took a combination of Baxter’s save and a goalline clearance from Gethin Jones to deny Yengi, Evatt’s men fell behind at a crucial time.
Portsmouth were always likely to pose a threat from set-pieces and it was a corner that triggered the break-through as Jack Sparkes provided the delivery headed home at the near post by defender Conor Shaughnessy.
Wanderers, who felt Randell Williams had been fouled in the build-up, needed to show their resolve to stay in the contest and create a platform for a fightback and it needed another tidy stop from Baxter to keep out an effort from Paddy Lane early in the second half as the hosts looked to press home their advantage.
Wanderers were still in the hunt and with a quarter of the game to go Evatt made a triple change to try and inject some fresh impetus into the fight.
But the change in personnel wasn’t enough to change the flow or spark the opening the Whites needed to check Portsmouth’s momentum, Norris only called into action to keep out a Bodvarsson effort at his near post.
And with Wanderers unable to raise themselves and use the ball well enough to create any sustained pressure, they were finally killed off with a couple of minutes to go when Portsmouth struck on the break through Yengi’s close-range finish to keep his side top of the pile.
Wanderers: Baxter; Jones, Almeida Santos, Toal; Sheehan; Dacres-Cogley (Mendes Gomes 81), Maghoma (Morley 67), Thomason (Dempsey 67), Williams (Iredale 67); Charles (Adeboyejo 81), Bodvarsson. Substitutes: Forrester, Jerome.
Booked: Thomason, Sheehan, Mendes Gomes, Jones
Portsmouth: Norris; Rafferty, Raggett, Shaughnessy, Sparkes (Swanson 90+3); Morrell, Pack; Kamara (Whyte 67), Robertson, Lane (Devlin 81); Yengi (Saydee 90+3). Substitutes: Schofield, Towler, Martin.
Booked: Robertson, Sparkes, Rafferty
Referee: Paul Howard
Attendance: 19,052 (742 Wanderers)