BURY closed the gap to the League Two automatic promotion places to just two points after a club record seventh straight away win.
Ryan Lowe headed in the only goal of the game in the 44th minute after Joe Riley found his late run into the box with a pinpoint cross.
His 10th goal of the season earned a first win at Fratton Park for Bury since 1968.
And with third-placed Wycombe, who have played a game more, only managing a goalless draw at Wimbledon, the Shakers could now move into the top three with a victory at home to Southend on Tuesday night.
BURY (4-4-2): Pope; Riley, Cameron, El-Abd, Hussey; Etuhu (Sedgwick 72); Craig Jones, Tutte, Soares, Mayor (Rose 81); Eaves (Lowe 31).
Not used: Lainton, Adams, O'Brien, Nardiello.
PORTSMOUTH (4-4-2): Jones; Devera, Webster, Nosworthy (Ertl 66), Shorey; Atangana, Close (May 85), Wallace, Hollands; Westcarr, Tubbs (Chaplin 69).
Not used: Poke, Fogden, Butler.
Referee: James Adcock.
Attendance: 14,569 (499 visiting).
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules hereComments are closed on this article