Gary Roberts fired home a late penalty as Pompey won at Exeter to secure a second successive victory.
They had seen plenty of the ball without carving out too many clear-cut openings, but a third goal in two games from Roberts was enough to settle the contest.
Exeter poured forward in search of a leveller and the Blues were forced to hold on to claim a maximum haul in Devon.
Paul Cook made two changes from the side that beat Colchester the previous week.
Milan Lalkovic replaced Kyle Bennett wide on the left, while Adam Barton dropped to the bench to make way for Tom Davies in the centre of defence.
The game started at a frantic pace, with both sides looking to get forward whenever possible.
There was a scary moment for the visitors when David Forde failed to hold Lloyd James’ free-kick, but referee Gavin Ward spotted a push on the keeper.
Pompey soon settled, though, and began to assert themselves on the Grecians, with a slip from 15-year-old defender Ethan Ampadu almost letting in Curtis Main.
Roberts then found space to burst forward, but he dragged his shot wide of the post to let Exeter off the hook.
Enda Stevens was sending in some decent crosses from the left and one was brilliantly held by keeper Bobby Olejnik, with Roberts waiting to pounce at the far post.
The Blues were beginning to dominate proceedings without really carving out anything clear-cut and when space opened up for Main, the striker drilled straight into Olejnik’s arms.
It was a similar story when Carl Baker cut inside from the right and then fired a shot into the side netting.
But one fine move almost resulted in an opener on 18 minutes, starting with Stevens nutmegging Jake Taylor down the left.
Lalkovic picked the ball up out wide and his low cross was met by Main, only for a sweeping effort to be blocked by Troy Brown.
There was another golden opportunity midway through the first half when Roberts delivered a superb free-kick, only for Christian Burgess to glance it wide.
Danny Rose was given the chance to break forward at regular intervals and his fierce long-range strike appeared to be heading for the net until Brown bravely got his face in the way.
Exeter had offered little at the other end of the pitch, but did carve open one good chance before the break.
Connor Riley-Lowe’s cross was helped on by Joel Grant, with Forde doing well to deny Liam McAlinden from close range.
It was Pompey who had the final say, however, as Rose shot narrowly over before Roberts – at full stretch – was unable to convert Stevens’ ball with a diving header.
Exeter City 0
The second half was slow to get going, but it was the Blues who carved out the first decent opening on 56 minutes.
A quickly-taken free-kick found its way to Lalkovic on the left and his pin-point delivery was headed narrowly wide by Main.
Michael Doyle then fed the ball to Main on the edge of the box, only for an excellent Ampadu block to deny the striker.
Pompey made their first switch just past the hour mark and it was a popular one with the travelling support as Conor Chaplin replaced Baker.
The teenager made an immediate impact, as he latched onto Roberts’ pass, beat Ampadu and saw a curling shot deflected narrowly past the post.
It was Exeter who came close to celebrating a goal on 68 minutes, however, following a quick break up the pitch.
Ollie Watkins did well to pick out Grant inside the box and Burgess was forced to divert the ball behind for a corner.
The Blues then made their final two changes, with Main and Lalkovic making way for Noel Hunt and Kal Naismith.
The former almost improvised a goal just moments after entering the fray, using his body to turn Chaplin’s shot on target, but seeing the effort blocked.
And Naismith was then just about able to reach Roberts’ corner and send the ball back into the mix, but it was just out of reach for Chaplin to get a shot away.
But the pressure finally produced a goal on 85 minutes and it was Naismith who created it.
The substitute latched onto a long Burgess pass forward and charged into the box, only to be brought down by Pierce Sweeney.
Ward immediately pointed to the spot and ROBERTS stepped up to slam the ball straight down the middle, with James and Sweeney both booked for complaining about the decision.
But Sweeney almost made amends at the other end of the pitch, with a deflection taking the power out of his shot and allowing Forde to save.
The keeper then made another key stop to deny Watkins in stoppage-time, while Doyle kept out an effort from the same player with a brilliant block as Pompey held on to claim all three points.
Exeter (3-4-3): Olejnik; Sweeney, Brown, Ampadu (Oakley 76); Taylor, James (c), Tillson (Grant 21), Riley-Lowe; Watkins, McAlinden (Simpson 57), Harley
Booked: Harley, James, Sweeney, Riley-Lowe
Subs not used: Pym, Egan, Byrne, Jay
Pompey (4-2-3-1): Forde; Talbot, T.Davies, Burgess, Stevens; Rose, Doyle (c); Baker (Chaplin 64), Roberts, Lalkovic (Naismith 74); Main (Hunt 74)
Goals: Roberts 85 (pen)
Subs not used: O’Brien, Barton, Linganzi, Evans
Referee: Gavin Ward
Attendance: 4,512 (1,215 Pompey fans)