Robbie Fowler celebrated his new contract with his fifth goal of the season as Liverpool overcame Portsmouth at Fratton Park but failed to topple Manchester United from second spot.
Peter Crouch boosted his World Cup credentials by scoring one goal and laying on the third for substitute Djibril Cisse, but Manchester United's 4-0 win over Charlton condemned the European Cup holders to third place.
Steven Gerrard was denied early on by a superb sprawling save from Portsmouth goalkeeper Dean Kiely after being put clean through.
Denmark defender Brian Priske misjudged a header from John Arne Riise's searching cross, allowing Gerrard to race through one-on-one with Kiely but the Irishman came charging out of his goal to save with his left leg.
Gerrard was presented with another sight of goal six minutes later but the Liverpool captain drilled a 25-yard shot well wide of Kiely's right hand post.
Portsmouth, without the injured Lomana LuaLua and rested Pedro Mendes, took until the 20th minute to create their first opportunity when record signing Benjani Mwaruwari broke free down the right and whipped in an inviting cross from the byline, which was just behind Svetoslav Todorov.
Richard Hughes passed up a golden opportunity to register his first ever Premiership goal midway through the first half when Priske bypassed two Liverpool defenders before pulling the ball back for Hughes to shoot first time, but the Scot took too many touches and the chance passed.
Rafael Benitez's FA Cup final preparations were thrown into turmoil five minutes before half-time when Spanish midfielder Xabi Alonso was carried from the pitch on a stretcher after landing awkwardly on his ankle following a challenge by Benjani.
Liverpool's stand-in goalkeeper Jerzy Dudek was called into action for the first time on the stroke of half-time, diving low to his left to keep out Benjani's close-range strike after Linvoy Primus had headed on Andres D'Alessandro's right wing corner.
Gerrard carved the Pompey defence open once more three minutes after the re-start, beating left-back Matt Taylor before picking out Fernando Morientes, but the Spaniard scooped his shot over the crossbar from the edge of the penalty area.
The European Cup holders took the lead in the 52nd minute courtesy of Fowler's fifth goal since making a hero's return to Anfield in January.
Morientes bought down a Harry Kewell centre on his chest before back-heeling the ball through to Fowler, who took one touch to get the ball onto his favoured left foot and then dispatched a cool finish around Kiely and into the bottom left hand corner from 15 yards out.
Substitute Crouch looked to have put the game out of Pompey's reach when he tapped in the visitors' second six minutes from time after Dean Kiely could only palm Cisse's cross-cum-shot into his path.
Pompey hit back a minute later through substitute Ognjen Koroman's first goal in English football, turning in Wayne Routledge's cross at the back post.
Cisse restored the two-goal lead a minute from time, beating a helpless Kiely with an angled shot from the edge of the six-yard box after being put through by Crouch.