Liverpool were made to fight all the way by a belligerent Reading outfit but it was Fernando Torres again who secured the points and a firm grip on fourth place.
Torres became the first Liverpool player to score 20 league goals in a season since Robbie Fowler in the 1995-96 campaign.
It was his 27th of the term and his ninth in seven matches but that did not really tell the full story of this fierce clash.
Reading gave everything, fought for every ball and subjected Liverpool to a searching aerial examination in a frantic conclusion.
The visitors led after five minutes thanks to a stunning 20-yard strike from Marek Matejovsky and it took an equally stunning Javier Mascherano equalizer to get Liverpool back into the match.
Torres had a quiet game by his standards but he punished Reading with a header soon after the break, about the only time he was left unattended all afternoon.
From then on Reading fought for an equalizer, and somehow Liverpool - after their midweek Champions League heroics in Milan - clung on for their seventh successive victory.
Liverpool made two changes from the side that beat Inter Milan in the San Siro with Xabi Alonso and Alvaro Arbeloa returning, with Sami Hyypia and Lucas Leiva making way.
Reading, having pulled themselves marginally away from the relegation battle with two successive wins, were unchanged from the side that beat Manchester City last weekend as they went in search of their first victory at Anfield.
Alonso saw an early shot deflected into Marcus Hahnemann's arms while Ryan Babel and Torres both looked confident and dangerous.
But Reading stunned their hosts with an exceptional goal after a free-kick wide on the left for Arbeloa's foul on Stephen Hunt.
John Oster guided the ball across the edge of the penalty area and the unmarked Matejovsky smashed a swerving volley into the top corner off the crossbar with Jose Reina motionless.
Liverpool's response was a fine ball from Gerrard that sent Torres away but Hahnemann rushed from his line to make a fine block on the edge of the box.
It was going to take something special to match Matejovsky's effort and it came from Mascherano, only the second goal of his first-team career with Corinthians, River Plate, West Ham and now Liverpool.
The Argentina international gained possession 40 yards out and surged forward to lash the ball high past Hahnemann into the top right-hand corner.
Liverpool almost scored again when Mascherano's sweeping ball out to Babel set the Dutch youngster moving and he cut in before lashing an angled drive that Hahnemann beat away.
Babel's diving header from Gerrard's cross a minute later was rightly ruled out for offside before Dirk Kuyt hooked over Arbeloa's cross on the turn.
But Reading were competitive and aggressive and the pace of Kevin Doyle and the spiky involvement of Hunt always had the Berkshire side in the game.
Alonso, from 30 yards, almost put Liverpool ahead a minute from the break but the hosts struck soon after half-time.
Torres was brought down out on the left after 48 minutes and when Gerrard lifted the free-kick into the box the Spain striker rose unchallenged to head down and wide of Hahnemann.
Kuyt headed just over from Fabio Aurelio's cross before Hunt, not surprisingly, got himself booked for yet another foul on Arbeloa.
Torres' crossfield ball sent Babel away on the left and the winger side-stepped three defenders before blasting his shot over the top.
Reading then took off Long, sending on Dave Kitson after 63 minutes. The Irish striker was far from impressed, hurling his shirt onto the track before being reprimanded by a clearly angry Reading boss Steve Coppell for his action.
Hahnemann then saved well to beat out an Aurelio drive with Torres heading the rebound just wide.
Andre Bikey was next into the book for a foul on Gerrard and the Cameroon international became involved in a heated exchange with the Liverpool captain and referee Andre Marriner before the yellow card was shown.
Cisse was booked for a foul on Torres after 87 minutes before Alonso fired over from a Riise pass.
Reading threw everything forward and there was loud appeals for a penalty when Gerrard charged down a Kitson shot in injury-time but Liverpool held on.
Teams
Liverpool Reina, Arbeloa, Carragher, Skrtel, Aurelio, Alonso,Mascherano, Kuyt (Benayoun 80), Gerrard (Hyypia 90),Babel (Riise 83), Torres.
Subs Not Used: Itandje, Crouch.
Goals: Mascherano 19, Torres 48.
Reading Hahnemann, Rosenior, Bikey, Ingimarsson, Shorey,Oster (Kebe 72), Harper, Matejovsky (Cisse 74), Hunt, Doyle,Long (Kitson 63).
Subs Not Used: Federici, Sonko.
Booked: Hunt, Ingimarsson, Matejovsky, Bikey, Cisse.
Goals: Matejovsky 5.
Att: 43,524
Ref: Andre Marriner (W Midlands).
Torres became the first Liverpool player to score 20 league goals in a season since Robbie Fowler in the 1995-96 campaign.
It was his 27th of the term and his ninth in seven matches but that did not really tell the full story of this fierce clash.
Reading gave everything, fought for every ball and subjected Liverpool to a searching aerial examination in a frantic conclusion.
The visitors led after five minutes thanks to a stunning 20-yard strike from Marek Matejovsky and it took an equally stunning Javier Mascherano equalizer to get Liverpool back into the match.
Torres had a quiet game by his standards but he punished Reading with a header soon after the break, about the only time he was left unattended all afternoon.
From then on Reading fought for an equalizer, and somehow Liverpool - after their midweek Champions League heroics in Milan - clung on for their seventh successive victory.
Liverpool made two changes from the side that beat Inter Milan in the San Siro with Xabi Alonso and Alvaro Arbeloa returning, with Sami Hyypia and Lucas Leiva making way.
Reading, having pulled themselves marginally away from the relegation battle with two successive wins, were unchanged from the side that beat Manchester City last weekend as they went in search of their first victory at Anfield.
Alonso saw an early shot deflected into Marcus Hahnemann's arms while Ryan Babel and Torres both looked confident and dangerous.
But Reading stunned their hosts with an exceptional goal after a free-kick wide on the left for Arbeloa's foul on Stephen Hunt.
John Oster guided the ball across the edge of the penalty area and the unmarked Matejovsky smashed a swerving volley into the top corner off the crossbar with Jose Reina motionless.
Liverpool's response was a fine ball from Gerrard that sent Torres away but Hahnemann rushed from his line to make a fine block on the edge of the box.
It was going to take something special to match Matejovsky's effort and it came from Mascherano, only the second goal of his first-team career with Corinthians, River Plate, West Ham and now Liverpool.
The Argentina international gained possession 40 yards out and surged forward to lash the ball high past Hahnemann into the top right-hand corner.
Liverpool almost scored again when Mascherano's sweeping ball out to Babel set the Dutch youngster moving and he cut in before lashing an angled drive that Hahnemann beat away.
Babel's diving header from Gerrard's cross a minute later was rightly ruled out for offside before Dirk Kuyt hooked over Arbeloa's cross on the turn.
But Reading were competitive and aggressive and the pace of Kevin Doyle and the spiky involvement of Hunt always had the Berkshire side in the game.
Alonso, from 30 yards, almost put Liverpool ahead a minute from the break but the hosts struck soon after half-time.
Torres was brought down out on the left after 48 minutes and when Gerrard lifted the free-kick into the box the Spain striker rose unchallenged to head down and wide of Hahnemann.
Kuyt headed just over from Fabio Aurelio's cross before Hunt, not surprisingly, got himself booked for yet another foul on Arbeloa.
Torres' crossfield ball sent Babel away on the left and the winger side-stepped three defenders before blasting his shot over the top.
Reading then took off Long, sending on Dave Kitson after 63 minutes. The Irish striker was far from impressed, hurling his shirt onto the track before being reprimanded by a clearly angry Reading boss Steve Coppell for his action.
Hahnemann then saved well to beat out an Aurelio drive with Torres heading the rebound just wide.
Andre Bikey was next into the book for a foul on Gerrard and the Cameroon international became involved in a heated exchange with the Liverpool captain and referee Andre Marriner before the yellow card was shown.
Cisse was booked for a foul on Torres after 87 minutes before Alonso fired over from a Riise pass.
Reading threw everything forward and there was loud appeals for a penalty when Gerrard charged down a Kitson shot in injury-time but Liverpool held on.
Teams
Liverpool Reina, Arbeloa, Carragher, Skrtel, Aurelio, Alonso,Mascherano, Kuyt (Benayoun 80), Gerrard (Hyypia 90),Babel (Riise 83), Torres.
Subs Not Used: Itandje, Crouch.
Goals: Mascherano 19, Torres 48.
Reading Hahnemann, Rosenior, Bikey, Ingimarsson, Shorey,Oster (Kebe 72), Harper, Matejovsky (Cisse 74), Hunt, Doyle,Long (Kitson 63).
Subs Not Used: Federici, Sonko.
Booked: Hunt, Ingimarsson, Matejovsky, Bikey, Cisse.
Goals: Matejovsky 5.
Att: 43,524
Ref: Andre Marriner (W Midlands).