Christian Burgess scored his first goal of the season to earn Pompey a hard-fought win at struggling Bolton.
The centre-back was quickest to the ball after Sean Raggett’s effort had been saved late in the first half.
League One’s basement club offered a stern challenge after the interval, but the Blues held on to give their large travelling army cause to celebrate.
Kenny Jackett made one change from the side that beat AFC Wimbledon on home soil the previous week.
John Marquis was rewarded for netting in three successive games by replacing Andy Cannon in the number 10 role.
The first half was not a thrilling affair, with both sides failing to make the most of promising situations.
Ethan Hamilton fired into the side netting for the hosts, while Raggett was unable to get on the end of a Ronan Curtis free-kick at the other end.
The visitors won a host of corners – many of them delivered by Steve Seddon – but none of them led to anything.
Curtis had the first decent opportunity midway through the first half, with an opportunistic long-range effort that had enough bend to trouble Remi Matthews in the opposition goal.
There was a scare at the other end when Raggett fouled Joe Dodoo as the striker tried to race through on goal.
Home fans and players were baying for a red card, but thankfully for the defender, referee Tom Nield only brandished a yellow one.
That perhaps led to a sense of injustice among the Wanderers faithful, who began appealing for everything.
Ellis Harrison seemed to be the main focus of their ire and there were demands for a red card when Toto Nisala went down – despite the defender being inadvertently tripped by his own keeper.
Nsiala was then called into action to make a timely block on Curtis’ shot after Marcus Harness had pulled the ball back into the box.
But Pompey did take the lead just before the interval, with three members of their back-line playing a key role in the goal.
Seddon whipped in a free-kick from the right and Raggett’s header was pushed clear by Matthews, only for BURGESS to follow up and lash the ball home.
Bolton Wanderers 0
The hosts looked much stronger once the action restarted and Dodoo headed narrowly over from a free-kick.
Dennis Politic’s fierce drive was then beaten away by Alex Bass, with Raggett on hand to nod the loose ball behind.
Pompey were struggling to keep their revived opponents at bay, forcing Jackett into a double switch just before the hour mark.
Harrison and Harness were the men withdrawn, with Cannon and a fit-again Ryan Williams on to replace them.
The latter was involved in a quick Blues break soon after, only to then lose possession and see Bolton launch forward.
Ronan Darcy sent in a cross that was turned towards goal by the lively Dodoo, but Chris O’Grady somehow failed to score from just a couple of yards out.
Pompey tried to threaten themselves and began to see more of the ball, without really troubling Matthews.
The keeper did struggle with another dangerous Seddon corner, although the danger eventually passed.
Bolton kept searching for an equaliser and Bass comfortably kept out Politic’s effort, while Josh Emmanuel fired over from outside the box.
Their best chance came on 83 minutes, with Bass getting down low to his left to push clear a low drive from Politic that was heading for the bottom corner.
But the Blues survived a nervy finale – including four minutes of added time – to celebrate a valuable away victory.
Bolton (4-1-2-1-2): Matthews; Emmanuel, Nsiala, Edwards (O’Grady 46), Fleming; Murphy; Hamilton, Lowe (c); Darcy (Hall 89); Dodoo, Politic
Booked: Edwards, Dodoo
Subs not used: Alexander, Senior, Brockbank, Graham, Thomason
Pompey (4-2-3-1): Bass; Bolton, Burgess, Raggett, Seddon; McGeehan, Naylor (c); Harness (Williams 56), Marquis, Curtis; Harrison (Cannon 56)
Goals: Burgess 42
Booked: Raggett, Harrison
Subs not used: MacGillivray, Whatmough, Haunstrup, Close, Hawkins
Referee: Tom Nield
Attendance: 13,407 (1,846 Pompey fans)