They raced into a three-goal lead, but defensive frailties nearly allowed the Royals to claim a morale-boosting victory.
An almost full house at Anfield wanted a confident solid performance to settle Premiership worries.
What they got was a seven-goal thriller featuring an at times disjointed, scrappy performance that settled no nerves.
The almost capacity crowd had braved a sodden Wednesday night on Merseyside despite the supposed unpopularity of the Carling Cup.
Anfield legend Robbie Fowler made his first start since the Liverpool derby some two months ago and was handed the captain's armband on his return.
The slick pitch made constructive passing difficult and tone of play was one of old fashioned directness.
The first half seemed to be a damp squib. John Oster skipped into the box but his shot was blocked, before Fowler volleyed as the offside flag went up.
Then, with only a minute left the veteran No.9 showed why he still has a place in the Reds frontline.
Jermaine Pennant's ball through released Fowler down the centre and with an experienced head he coolly flicked the ball over the advancing Graham Stack with the outside of his left boot.
Reading's misfortune was doubled before they could regroup from a blow which neitther team deserved.
Pennant drove across field before leaving the ball to John Arne Riise, who had space on the left of the penalty area.
His trademark left-foot drive was parried straight back to him and the Norwegian made no mistake second time, slotting it hard and low into the right-hand corner.
New signing Gabriel Paletta capped a decent performance on his debut in the 50th minute, rising to head home from Pennant's corner.
The second half was the opposite of the tepid first half offerings, as the game reached a frantic conclusion.
Reading pulled one back when Andre Bikey nodded home a Glen Little free-kick on 75 minutes.
But the Anfield outfit hit back with a high paced one-two between Fowler and Peter Crouch three minutes later, which gave the latter space to walk around the keeper and casually stroke the ball home.
Like their performance against Galatasaray in the Champions League, the home side seemed to lack the concentration to finish the opposition off.
Leroy Lita scored from close range after good work from Stephen Hunt in the 81st minute and an emboldened Reading surged forward.
The match suddenly seemed wide open when Shane Long slotted home from Little's volleyed cross in the 84th minute.
Substitute Dirk Kuyt and Fowler then hit the bar late on, but the Reds had done just enough to progress.