Prem wrap: Liverpool keep pace with Chelsea
Liverpool came from 2-0 down to beat 10-man Manchester City 3-2 and keep up the pressure on Premier League leaders Chelsea, who defeated Aston Villa 2-0 to stay ahead of the Merseysiders on goal difference.
Just behind them, surprise package Hull piled the pressure on Tottenham manager Juande Ramos with a 1-0 win at White Hart Lane which lifted the Tigers up to third.
Liverpool looked in trouble as they trailed to a 19th-minute goal from Stephen Ireland and Javier Garrido's curling free-kick four minutes from the interval.
However, Fernando Torres slid in from close range to reduce the deficit in the 55th minute before the Spain striker headed a 73rd-minute equaliser from Steven Gerrard's left-wing corner.
City then had right-back Pablo Zabaleta sent off for an over-the-top challenge on Xabi Alonso, although Liverpool, having used all their substitutes, also went down to 10 men late on when Martin Skrtel was carried off on a stretcher with a serious-looking knee injury.
But in injury-time Dirk Kuyt fired home to complete the turnaround.
Chelsea's win was much more routine, with Joe Cole (21) and Nicolas Anelka (44) scoring the goals in a 2-0 victory over Aston Villa at Stamford Bridge.
At White Hart Lane another stunning goal from Geovanni compounded bottom side Spurs' problems.
The Brazilian drilled a 30-yard free-kick into the top corner to move the Tigers, in their maiden season in the top flight, into third place.
Bolton were 3-1 winners at Upton Park after West Ham goalkeeper Robert Green handed them a 30th-minute lead when he dropped the ball at the feet of Kevin Davies and he hooked home.
Green then fumbled a shot to allow Gary Cahill to stab home from close range four minutes later.
Carlton Cole pulled a goal back for the hosts in the 69th minute but a drilled free-kick from Matt Taylor secured victory.
Jermain Defoe was Portsmouth's match winner again as he fired home in the 51st minute to clinch a 2-1 win over Stoke at Fratton Park after Peter Crouch's overhead kick (25) had been cancelled out by Ricardo Fuller (48).