Liverpool, with one eye on the Champions League, maintained their challenge for fourth place in the Premiership thanks to Luis Garcia's 12th goal of the season. They were even able to achieve this win without the luxury of Steven Gerrard.
Liverpool's early lead, taken by Fernando Morientes, was cancelled out by Diomansy Kamara's 34th-minute equaliser but Luis Garcia scored what proved to be the winner in the final minute of the first half.
Gerrard, whose missed penalty against Tottenham at the weekend cost Liverpool two points, began the game in an unfamiliar position - on the bench.
The Liverpool captain, troubled recently by a groin problem which forced him out of the Champions League away leg against Juventus, was rested ahead of a difficult period in which Rafael Benitez's team travel to London for a Premiership game at Crystal Palace followed by the first leg of the Champions League semi-final at Chelsea. That game, in particular, swayed Benitez and so the exclusion of Gerrard was one of four Liverpool changes, with Milan Baros, back from a three-match ban, John Arne Riise, Djimi Traore and Igor Biscan recalled. Portsmouth restored Dejan Stefanovic and Matthew Taylor to defence but neither side had time to settle in a game that came to life from the whistle.
Just 41 seconds had been played when Portsmouth attacked, with Giannis Skopelitis feeding Lomana LuaLua and, after skipping his way into the area, he sidestepped Jerzy Dudek before nudging the ball over the line - only to have his effort ruled out for offside, a decision that Portsmouth's players did not contest.
Liverpool responded immediately. In the third minute, Xabi Alonso's ball was cut out by Arjan De Zeeuw and, although the Portsmouth captain's poor back-pass fell only to Baros, he was thwarted by Jamie Ashdown, the Portsmouth goalkeeper.
But in keeping with the exhilarating pace and excitement of the opening exchanges, Liverpool scored in the fourth minute - and this time it counted.
Riise fed Morientes and, after seeing Ashdown save his first attempt, he steered the ball over the line from close range with his second. It was only the Spaniard's third goal since arriving for £6.3 million from Real Madrid in January. Portsmouth tried to find a way back into the game but their well-assembled back three continued to operate the offside trap intelligently to the consternation of LuaLua.
One the one occasion LuaLua beat the Liverpool defence, latching on to Gary O'Neil's pass, he chipped Dudek, but the goalkeeper was able to stretch an arm out and scoop the ball out.
But from the corner by Taylor in the 33rd minute, De Zeeuw's initial attempt was cleared off the line by Steve Finnan only for record signing Kamara, in for the injured Yakubu Ayegbeni, to convert the rebound.
But in the final minute of the first half, Liverpool regained the lead when, from Finnan's right-wing cross, Luis Garcia was given too much room and headed the ball beyond Ashdown. That proved to be his last touch; for the second half Luis Garcia was replaced by Vladimir Smicer.
Portsmouth's best crowd of the season saw the home side squander a perfect chance to equalise on the hour when Steve Stone should have scored from only five yards. Gerrard was introduced with 20 minutes remaining and Liverpool held out for their first league win in three attempts.
Portsmouth (4-4-2): Ashdown; Cisse, De Zeeuw (Primus ht), Stefanovic, Taylor; Stone (Berger 66), Skopelitis, Hughes, O'Neil; LuaLua (Fuller 76), Kamara.
Subs: Hislop (g), Rodic.
Liverpool (3-4-1-2): Dudek; Carragher, Hyypia, Traore; Finnan, Xabi Alonso, Biscan (Gerrard 68), Riise; Luis Garcia (Smicer ht); Morientes, Baros (Cisse 79).
Subs: Carson (g), Pellegrino.
Referee: H Webb (Rotherham).
© Copyright of Telegraph Media Group Limited