Harry Redknapp's side were on the attack for most of the game and Forest manager Paul Hart was forced to make an early change when he had to replace his captain Des Walker, who pulled up with a reoccurrence of his thigh injury after a tackle on Deon Burton.
After Walker's departure Pompey seemed to step up a gear, particularly Burton. He forced an outstretched Darren Ward to parry his shot away for a corner and minutes later ex-Forest player Nigel Quashie and Svetoslav Todorov went close.
Midway through the first half Portsmouth thought they had broken the deadlock only to find that Todorov's 'goal' had been disallowed.
This kicked Forest into shape and in a rare counter-attack Andrew Reid's cross-cum-shot came back off the crossbar.
Quashie and Matthew Taylor went close with shots in the opening minutes of the second period but Pompey finally took a deserved lead in the 56th minute.
Taylor scored his fifth of the season with a great 20-yard left-foot drive that gave Ward no chance to save.
Portsmouth scored their second when substitute Vincent Pericard, who is on loan from Juventus, scored a tap-in after Ward had fumbled Jason Crowe's shot.
Forest scored a consolation goal in stoppage time when Michael Dawson headed home Gareth Williams' fine corner.
It was a fine victory for Portsmouth considering two key - Paul Merson and Steve Stone - were unable to play.