Martin Skrtel gave Liverpool a third-minute lead, but Chelsea hit back before half-time through Eden Hazard and Samuel Eto'o to give manager Jose Mourinho victory over his former protege Brendan Rodgers.
Having led the league on Christmas Day, Liverpool will finish the year in fifth place, six points below leaders Arsenal, with Chelsea two points off the pace in third place behind Manchester City.
"The players are like monsters -- they fight until the last seconds," Mourinho told Sky Sports.
"The difference between the winner and loser was tight. We were lucky to win the game because it is very tight."
Beaten 2-1 by City on Boxing Day, Liverpool have now lost successive league games for the first time since April 2012, while top scorer Luis Suarez has gone two games without scoring after amassing 10 in his previous four outings.
Mourinho felt that Suarez should have been booked after going down in the hosts' box under a challenge from Eto'o late in the game, but Liverpool manager Rodgers said that his side deserved a penalty.
"You've seen them given and Eto'o was not even looking at the ball," he said.
"He's been streetwise and cute and was looking to block Luis. If he's intentionally blocking our man, it's a penalty."
The game marked the first meeting between Suarez and Branislav Ivanovic since the Liverpool striker was banned for biting the Chelsea defender last season, and the Liverpool man came out on top in their first duel.
After Samuel Eto'o caught Jordan Henderson with a high challenge on the Liverpool left, Philippe Coutinho curled in a free-kick and Suarez got in front of Ivanovic to knock the ball down for Skrtel to prod home.
Chelsea, for whom John Terry was making his 600th appearance, were quick to respond, with Glen Johnson hacking off the line to prevent Skrtel scoring an own goal and Gary Cahill heading wide from a free-kick.
Liverpool goalkeeper Simon Mignolet then produced a stunning one-handed save to tip over a shot from Frank Lampard, but in the 17th minute the hosts drew level.
A sharp Chelsea counter-attack culminated in Mamadou Sakho inadvertently diverting a pass from Oscar into the path of Hazard, who swept a magisterial first-time shot inside the right-hand post from 20 yards.
Chelsea then lost Ivanovic to injury, with Ashley Cole coming on, but it did not disrupt their momentum.
They went in front in the 34th minute and Mignolet, culpable for City's winning goal in Liverpool's 2-1 loss at the Etihad Stadium on Thursday, was again partly at fault.
Oscar's low cross from the right was toed towards goal by Eto'o and despite getting down quickly, Mignolet could only palm the ball inside his right-hand post.
It was an impressive reaction from Mourinho's side, but gradually Liverpool reasserted themselves.
Petr Cech produced a smart save to prevent Joe Allen from equalising with a deflected shot shortly before half-time, before Sakho headed against the crossbar early in the second period.
Mignolet stood up well to stop Eto'o extending Chelsea's lead at the other end, but Liverpool were soon back on the attack, with Suarez volleying straight at Cech.
The teams continued to exchange chances, Oscar drilling wide for Chelsea, Johnson working Cech in reply, but Liverpool's early fire had burnt itself out.
And when Suarez went to ground theatrically in the Chelsea box after Eto'o ran across him, he received only a shake of the head from referee Howard Webb and a torrent of jeers from the home fans.
Former Liverpool striker Fernando Torres threatened to seal victory at the death after coming on from the bench, but having taken Sakho out of the game, he saw his shot saved by Mignolet.