Pompey’s impressive start to the season continued as they took all three points away from Bristol Rovers.
Gareth Evans headed home midway through the first half as the Blues dominated the opening part of the game.
But the hosts improved after the interval and forced an Aaron McCarey own-goal during a period of pressure.
That kicked the visitors back into life, however, and Jayden Stockley – who was not even supposed to be starting – grabbed the winner.
Paul Cook made three enforced changes from the side that drew at Oxford the previous week.
Loan signing McCarey came straight into the team in place of injured keeper Paul Jones.
There were also spaces for Danny Hollands and Adam Barton in midfield, with Nigel Atangana (back) and Michael Doyle (suspended) both out.
But another switch had to be made once the sides had been named – with Adam McGurk picking up a knock in the warm-up and being replaced by Stockley.
After a slow start to proceedings, it was Pompey who soon started to control possession and trouble their opponents.
Their first decent opening arrived on 15 minutes when Evans charged into the box and shot with the outside of his boot, only to be denied by onrushing Rovers keeper Lee Nicholls.
Tom Lockyer then had to race across the box and clear the danger when Stockley quickly flicked Evans’ pass on to Conor Chaplin.
And it was Chaplin who should have broken the deadlock moments later, with the teenager somehow heading Kyle Bennett’s cross wide from just a couple of yards out.
The Blues continued to torment their hosts and their pressure finally paid off on 29 minutes.
It was the impressive pairing of Bennett and EVANS who combined to open the scoring, with the latter meeting the former’s cross and guiding a header into the corner.
Debutant McCarey had been a virtual bystander for much of the half, but was called into action twice before the interval.
First he had to adjust his feet quickly to stop Lee Brown’s deflected cross from sneaking in at the near post.
Then he made a smart stop to deny Jermaine Easter after Christian Burgess’ unfortunate slip had gifted an opening to the Rovers striker.
It was the visitors who had the final say, however, with a quick counter-attack, but Evans could only divert Chaplin’s pass straight at Nicholls.
Bristol Rovers 0
Pompey had been in almost total control before the break, but the hosts found themselves level early in the second half.
They enjoyed a spell of pressure before grabbing the equaliser – although there was a hint of fortune about the goal.
The Blues failed to deal with a cross and although Easter’s shot came back off the bar, the ball ricocheted off McCarey and into the net.
Pompey were struggling to find any sort of rhythm and they almost fell behind on 56 minutes when Easter’s long-range drive cannoned back off the post.
But the hosts then had two penalty appeals from skipper Ben Davies and Chaplin turned down, with referee Jeremy Simpson deciding the latter had dived and brandishing a yellow card.
Cook made his first substitution on 68 minutes, with Gary Roberts – who has been suffering with an ankle problem – replacing Chaplin.
But it was Bennett who immediately had a chance to restore the Blues’ advantage when he surged down the right and into the box, only to fire wide when a pass to Stockley was arguably the better option.
STOCKLEY soon had his chance to score, however, and took it when he poked home a fine Davies cross to end a patient passing move from Pompey.
Rovers tried to find another leveller, but the Blues were looking dangerous on the break, with Cook opting to bring on Kal Naismith and Matt Tubbs rather than shut up shop.
That attacking mentality almost paid off on 82 minutes when Roberts played a clever pass to Evans, but Nicholls kept out his fierce drive.
The hosts tried desperately to get the ball forward in search of a last-gasp point, but Pompey held firm to go top of the League Two table.
Bristol Rovers (3-5-2): Nicholls; J.Clarke (Gosling 46), Lockyer, Parkes; Leadbitter, Sinclair, Lines (c), O.Clarke (Bodin 46), Brown; Harrison, Easter (Taylor 72)
Goals: McCarey 48 (og)
Booked: Lines, Gosling, Lockyer
Subs not used: Mildenhall, McChrystal, Montano, Mansell
Pompey (4-2-3-1): McCarey; Davies (c), Burgess, Clarke, Stevens; Barton, Hollands; Evans, Chaplin (Roberts 68), Bennett (Naismith 74); Stockley (Tubbs 79)
Goals: Evans 29, Stockley 71
Booked: Stockley, Chaplin
Subs not used: Bass, Webster, May
Referee: Jeremy Simpson
Attendance: 8,555 (1,188 Pompey fans)