Kal Naismith returned to the Northern Gas & Power Stadium to haunt Hartlepool United.
The former Pools loan player scored his 11th goal of the season and third in three games to give the promotion favourites a 17th-minute lead.
He then set up sub Gary Roberts who smashed in the second on the hour.
Pools made just one change with Dave Jones restoring fit-again Rhys Oates with Lewis Hawkins moving down to the bench with Lewis Alessandra taking a midfield role.
Portsmouth boss Paul Cook made two alterations with ex-Pools star, Christian Burgess, returning at centre-half after suspension, with Noel Hunt named up top in place of the injured Eoin Doyle.
Pompey had a couple of early corners while Pools had a couple of promising attacks but the final ball did not match the build-up.
Portsmouth were having the better of the play and Michael Woods blocked a Kyle Bennett shot.
The all-blacks came forward and Scott Harrison needed to make a good tackle on Naismith as he threatened to run through and Matt Clarke headed over from the resulting corner.
Portsmouth went ahead in the 17th minute and it had to be NAISMITH.
Enda Stevens crossed from left and Naismith had time and room pulls that left trigger of his from 12 yards.
Pools got the ball into the away box midway through the half from a free-kick but Brad Walker's shot hits Padraig Amond.
The hosts were not short of possession but never had a chance to test the capability of keeper David Forde.
Lewis Alessandra had one shot blocked and was crowded out on another occasion.
Pools went agonisingly close to a 51st-minute equaliser when Nathan Thomas hit David Forde's left post with a right foot shot with the keeper beaten.
But it should have been 2-0 three minutes later when Roberts missed a sitter from six yards from a Stevens cross from the left.
However, a second goal duly arrived on the hour.
Pools were made to pay for messing about at the back, losing the ball, with Naismith superbly teeing up ROBERTS with the sub burying his shot from six yards.
It was almost three on 66 minutes when Naismith hit the post with his right foot and Jamal Lowe put the rebound over the bar.
Pools had a brief bit of play when Oates tried to get Alessandra in but the midfielder lost control and soon after Thomas had a shot from 30 yards which thumped into the advertising board.
Jones made a change 15 minutes from time, bringing off Oates and sending Devante Rodney on for his debut.
The match peteed out in the last 20 minutes with little to note bar a return to the field for Carl Magnay in stoppage time for his first appearance since mid-September.
Pools: Fryer, Donnelly (Magnay 90), Walker, Harrison, Deverdics, Featherstone, Alessandra, Woods, Oates (Rodney 75), Thomas, Amond.
Unused Subs: Dudzinski, Richardson, Bates, Hawkins, Rooney .
Booked: Alessandra 4
Portsmouth: Forde, Evans, Burgess, Clarke, Stevens, Rose, M Doyle, Lowe (Chaplin 80), Naismith (Kabamba 90), Bennett, Hunt (Roberts 45)
Unused Subs: O'Brien, Talbot, Whatmough, Linganzi
Goal: Naismith 17, Roberts 60
Booked: Rose 88
Referee: Mark Brown
Attendance: 4,500 ((away 977)