Aston Villa missed the chance to pull out of the Premier League relegation zone as Liverpool came from behind to stay in the hunt for a European place.
Paul Lambert's side took the lead when Gabriel Agbonlahor's lay-off found Christian Benteke, who powered home.
Liverpool equalised shortly after the restart when Jordan Henderson dinked the ball past the reach of Brad Guzan.
And Steven Gerrard scored the winner from the spot after Nathan Baker brought down Luis Suarez in the area.
The second Liverpool goal came with 30 minutes left to play which gave the home side plenty of time to get something from the match.
However, after Austrian Andreas Weimann blasted his shot horribly high over the bar and Gerrard cleared Benteke's header off the line, it seemed the omens were not on Villa's side.
Boss Lambert now needs to reinvigorate his squad, who came into the match on the back of two successive league wins.
This defeat leaves them on 30 points, below 17th-placed Wigan on goal difference following the Latics' win against Norwich on Saturday.
Villa travel to Stoke next week before facing Manchester United and fellow strugglers Sunderland in what will be a crucial month in the future of the club.
It could have been a very different result for the Birmingham outfit had they not been so profligate in front on goal in the opening quarter of the match.
Almost straight from the kick-off Joe Bennett, in for the injured Ciaran Clark, delivered a sumptuous ball from the left that both Benteke and Agbonlahor failed to connect with from six yards out.
Moments later, Matthew Lowton swung in a cross from the other wing which this time found Agbonlahor, who wasted a golden chance by firing straight at Reina.
They eventually took the lead when Ashley Westwood played a quarter-back pass into the path of Agbonlahor, who used his thigh to lay the ball into the path of Benteke. The Belgian, one of Villa's key performers this season, gave Pepe Reina no chance with his finish.
However, the half could have finished 3-3. Liverpool playmaker Suarez had two great chances - a shot that was tipped over by Brad Guzan and three that were easily saved when he was one-on-one with the Villa goalkeeper.
The United States international also came to the rescue when he punched a Gerrard drive clear that was destined for the top corner.
But he was helpless to stop the equaliser which came two minutes after the break. This time Gerrard found Philippe Coutinho with a long punt downfield.
The Brazilian midfielder threaded a precise ball through to Henderson, who lifted his shot past Guzan. It was an excellent move and finish.
Liverpool were in the ascendancy and Coutinho should have added another when he was put through by Suarez, while full-back Glen Johnson saw his strike come off a Villa player and rebound back off the far post.
The home side were holding on until the hour mark when Baker, who came through the Villa ranks, scythed down Suarez.
Referee Lee Mason pointed straight to the spot - there were few protestations. Gerrard stepped up and struck the ball low past Guzan.
More chances came Villa's way, but Weimann was wasteful when Yacouba Sylla found him with a ball from the right before Gerrard produced one of the best goalline clearances of the season when he nodded away Benteke's powerful header.
Liverpool manager Brendan Rodgers:
"We played reasonably well in the first half but we were punished for a mistake. We upped the tempo after the break and we were excellent. It is a terrific win for us. Both teams went right to the end.
"Our quality was there for all to see, and the rhythm and flow of our passing was improved.
"Villa went to a diamond and we exploited the space out wide. Coutinho's pass for the Henderson goal was superb, and Henderson's determination and desire to make the run was outstanding."