Fernando Torres scored an injury-time 50th Barclays Premier League goal for Liverpool to give his side a Champions League lifeline against Aston Villa.
The Spaniard drilled a low shot across Villa keeper Brad Friedel in the 93rd minute to become the fastest player in Reds history to score a half century of league goals.
It means Rafael Benitez's side are only two points behind Villa and three adrift of fourth-placed Tottenham in the race for European places.
Liverpool keeper Jose Reina had earlier produced two crucial saves to deny Villa who were searching for their first home win over the Reds for nearly 12 years.
The Spaniard somehow kept out a close-range volley from Stewart Downing in the first half and then denied Villa's top scorer Gabriel Agbonlahor after he had broken clear midway through the second period.
And Liverpool appeared to have strong first half claims for a penalty after a challenge by Villa central defender Richard Dunne on Dirk Kuyt.
Villa lacked sharpness and perhaps having a day less than Liverpool to recover from their opening game of the festive programme - a 3-0 reversal at Arsenal - may have taken its toll.
Liverpool skipper Steven Gerrard tried to inspire his side in conditions that became increasingly difficult underfoot.
But it was Torres who produced the moment of magic after capitalising on a loose pass from former Liverpool defender Stephen Warnock.
Villa, 3-1 winners at Anfield in August, made a promising start in the blizzard-like conditions.
Downing lined up a shot just outside the Reds box but his fierce drive was blocked by Alberto Aquilani.
Torres failed to make proper contact on an overhead kick from a deflected Gerrard centre.
Luke Young was out quickly to block a shot on the edge of the Villa box from Lucas Leiva after Dunne had headed clear a Gerrard corner.
Reina was called into meaningful action for the first time after 14 minutes in blocking a header at the far post from Dunne following another Downing corner.
Gerrard tried his luck with a 30-yard free-kick but his shot deflected off the Villa wall and out for a corner.
But it needed a fine save from Brad Friedel to deny Liverpool from taking the lead after 17 minutes.
Torres teed up Gerrard just outside the Villa area and his curling first time shot was tipped over the bar by the former Liverpool keeper.
Reina got his body behind a low drive from James Milner.
Villa skipper Stiliyan Petrov was off target with a bicycle kick after Nigel Reo-Coker had played the ball into the Liverpool area.
But it needed a magnificent reflex save from Reina to prevent Downing from giving Villa the lead after 31 minutes.
Milner's corner was met at the far post by Downing and he could not have struck his volley more cleanly but Reina somehow managed to fist away his shot from close range.
Dunne became the first player to be booked after 41 minutes for a challenge on Lucas.
Then Lucas followed the Villa defender into the referee's notebook for a foul against Agbonlahor.
Liverpool appealed in vain for a penalty after a challenge by Dunne on the recalled Kuyt eight minutes before the interval.
Liverpool, unbeaten at Villa Park since February 1998, enjoyed the majority of possession at the start of the second period without seriously threatening the home goal.
There was a three minute delay wile Reina was allowed to change his footwear, much to the annoyance of the Villa fans in the Holte End.
Gerrard was on the receiving end of a knee high challenge from Carlos Cuellar just outside the Villa box but Aquilani's free-kick dipped over the bar.
Villa suddenly came to life with Reina producing his second excellent save of the night to deny Agbonlahor after he had shaken off the challenge of Jamie Carragher.
From Milner's inswinging centre, John Carew was inches wide of the far post with a flick header.
But that was effectively the end of the goalmouth incidents until Torres' dramatic finale.