Victory, combined with second-placed Chelsea's 1-0 win away to 10-man Swansea, left Liverpool two points clear at the top with four games to play and seven in front of City.
Significantly it meant the destiny of the title, which Liverpool last won in 1990, was now in the Reds' own hands.
Third-placed City have two games in hand on both Liverpool and Chelsea, who travel to Anfield in a fortnight for what could be a title-decider.
Liverpool's Philippe Coutinho sealed a 10th win in a row for the Merseysiders 12 minutes from time after City had come from 2-0 down to draw level at 2-2.
First-half goals from Raheem Sterling and Martin Skrtel put Liverpool in control only for City to hit back after the break through David Silva and a Glen Johnson own-goal.
But Coutinho made it 3-2 in the 78th minute after seizing on a sliced clearance from City captain Vincent Kompany to beat England goalkeeper Joe Hart with a low shot from the edge of the box.
Liverpool had to play the closing minutes of stoppage-time a man down after Jordan Henderson was sent off for a wild challenge on City's Samir Nasri.
- 'Remarkable performance' -
Brendan Rodgers, the Liverpool manager, praised his side's resolve.
"It was a remarkable performance," he said. "We showed so much spirit and quality."
The 41-year-old Northern Irishman added his players could cope with the rising tide of optimism at Anfield.
"We have been put under pressure in a very big game but you can see from the quality of our football that we are coping with it."
City manager Manuel Pellegrini insisted his side whadn't given up on the title despite this defeat.
"If we win our two games in hand we will be a point behind Liverpool, who still have to play Chelsea. The title does not finish today. We are still going to fight."
Before kick-off, there was a minute's silence in memory of the 96 Liverpool supporters killed in a crush during a FA Cup semi-final against Nottingham Forest at Sheffield Wednesday's Hillsborough stadium on April 15, 1989.
In another tribute to the victims of the tragedy, matches across England were moved back by seven minutes this weekend, reflecting the moment the fateful match at Hillsborough was called off.
At the Liberty Stadium, Swansea were a man down as early as the 16th minute after Chico Flores collected a second yellow card for bringing down Andre Schurrle.
But it wasn't until the 68th minute that Jose Mourinho's side made their advantage count, with Demba Ba's shot somehow evading Swansea keeper Michel Vorm.
It was Ba's second crucial goal of the week after he had scored in the Champions League quarter-final win over Paris Saint Germain.
"I've been here three times with Chelsea without winning before today," Blues assistant manager Steve Holland, sent out by Mourinho to conduct post-match interviews, told the BBC.
"We played in the Champions League in the week, and it was a physically and emotionally draining game."
Swansea boss Garry Monk, whose side are now just three points above the relegation zone, added: "I can't complain about the performance, after going down to 10 so early against a good Chelsea side.
"It's very tough for us. We're not safe. But if we show that application in our final four games we'll be fine."
Saturday's matches saw Everton leapfrog victorious FA Cup semi-finalists Arsenal into fourth place and the final Champions League spot on offer to English clubs with a 1-0 win away to bottom of the table secured by Wes Brown's own-goal.
Meanwhile things tightened up at the foot of the table as relegation-threatened Fulham and second-bottom Cardiff enjoyed 1-0 wins over Norwich and Southampton respectively to close the gap on the teams immediately above them.