Edin Dzeko's late winner gave Manchester City a dramatic victory over Tottenham that keeps them in touch with leaders Manchester United and just two points off the top of the Premier League.
Spurs led through Steven Caulker's first-half header before Sergio Aguero drew City level.
Dzeko, so often City's hero this season, came off the bench to snatch the three points with two minutes to go.
Mancini delighted with 'huge' win
The Bosnia striker detests the term "super-sub", claiming it does not show him enough respect, but he again showed his worth as a late replacement after coming on for Carlos Tevez.
Dzeko exchanged passes with David Silva before slamming an unstoppable shot past Brad Friedel - his sixth league goal of the season and his fifth as a substitute.
In total, his goals have helped City earn nine vital points in their pursuit of their neighbours United and Chelsea.
For long spells against Spurs, City's unbeaten start to the season looked under threat, not because of poor defending, but because of an inability to take the numerous chances that came their way.
Manchester City's comeback win takes their unbeaten home run to 35 games, stretching back to December 2010
Dzeko apart, the champions are finding it much harder to find the net than they did when hitting 93 goals on the way to winning last season's title. Because of that, even sporadic failings at the back are potentially far more costly.
That was the case here, as Spurs soaked up some early pressure then scored with their first serious effort on goal. And, just as in
midweek against Ajax,
it was a set-piece that was City's undoing.
Caulker met Tom Huddlestone's whipped free-kick and Joe Hart was unable to keep his header out. The England keeper will argue his defence should have dealt with the delivery better but will also be angry with himself for allowing the ball to bounce over his line.
City's initial response was underwhelming. In fact, Spurs almost quickly doubled their lead as Emmanuel Adebayor, a nuisance throughout against his former club, teed up Huddlestone to skid a shot wide.
Spurs ran Man City close - Villas-Boas
And, when the home side did come forward, referee Michael Oliver rejected two shouts for a penalty. The first was for a handball by William Gallas that would have been harsh; the second for a foul by Huddlestone on Pablo Zabaleta that looked far more clear cut.
Other than that, City struggled to make headway, with Spurs digging in. That justified Andre Villas-Boas's decision to play with only Emmanuel Adebayor up front, the Togo striker getting the nod over Jermain Defoe, despite the England man
hitting a hat-trick on Thursday.
The pattern continued after the break, with City camped in the Tottenham half but unable to find a way through the visitors. Aguero stumbled as he ran clear from Toure's lobbed pass, but that was the closest they came to a meaningful chance.
Manchester City have won all nine Premier League games in which Edin Dzeko has scored as a substitute
Then came Mancini's first change after 56 minutes, with Maicon on for Matija Nastasic, and a change of system that allowed the Brazilian and Aleksandar Kolarov to raid forward as wing-backs.
That stretched the previously solid-looking Spurs defence, and an equaliser soon followed.
City were fortunate that the ball found its way to Aguero on the right of the box, but there was nothing lucky about his finish, with the Argentine turning inside Caulker before slotting past Friedel.
Anxiety among the home fans was suddenly replaced by belief and expectation, none more so than when Dzeko made his entrance with 17 minutes to go.
Chance after chance followed for Mancini's men, with a Dzeko effort being deflected into the side netting, Silva rolling a shot wide, Friedel denying Dzeko and Aguero also testing the Tottenham keeper.
Spurs did threaten on the break when Gareth Bale found space to smash in a shot that Hart had to beat away, but otherwise it was one-way traffic.
And Dzeko delivered the goods again with two minutes to go when he fed Silva then ran into the box to meet the return pass, swivelling to fizz an unstoppable shot past Friedel.
Kyle Naughton challenges Gael Clichy unfairly and gives away a free kick. Francisco Javi Garcia restarts play with the free kick.
90:00 +0:05 Substitution
Substitution Francisco Javi Garcia on for Sergio Aguero.
David Silva provided the assist for the goal.
87:17 Goal scored
Goal! - Edin Dzeko - Man City 2 - 1 Tottenham Edin Dzeko grabs a goal from inside the box high into the middle of the goal. Man City 2-1 Tottenham.
Brad Friedel takes the indirect free kick.
Substitution Kyle Naughton joins the action as a substitute, replacing Aaron Lennon.
The official flags Aleksandar Kolarov offside.
Sisenando Maicon crosses the ball.
Sisenando Maicon delivers the ball, clearance made by Michael Dawson.
Jan Vertonghen crosses the ball.
Effort from 12 yards by Sergio Aguero. Save by Brad Friedel.
David Silva has an effort at goal from deep inside the area missing to the left of the goal.
Effort from 12 yards by Aleksandar Kolarov. Blocked by William Gallas. Outswinging corner taken left-footed by Aleksandar Kolarov from the left by-line, Sisenando Maicon takes a shot.
Substitution Emmanuel Adebayor goes off and Jermain Defoe comes on.
Inswinging corner taken left-footed by David Silva from the right by-line, Headed effort from deep inside the area by Edin Dzeko misses to the left of the goal.
Substitution Michael Dawson comes on in place of Kyle Walker.
Free kick awarded for an unfair challenge on Gareth Barry by Emmanuel Adebayor. Gareth Barry takes the direct free kick.
Booking Emmanuel Adebayor is given a yellow card.
Aleksandar Kolarov sends in a cross.
David Silva decides to take a short corner.
Gareth Bale produces a drilled left-footed shot from 12 yards. Joe Hart makes a save.
Substitution Carlos Tevez leaves the field to be replaced by Edin Dzeko.
Effort from inside the area by Carlos Tevez misses to the left of the target.
Yaya Toure challenges Raniere Sandro unfairly and gives away a free kick. Tom Huddlestone takes the free kick.
Free kick awarded for a foul by Vincent Kompany on Emmanuel Adebayor. William Gallas takes the direct free kick.
The referee blows for offside against Sergio Aguero. Indirect free kick taken by Steven Caulker.
Shot from just outside the box by Gareth Bale goes over the bar.
The assist for the goal came from Yaya Toure.
64:54 Goal scored
Goal! - Sergio Aguero - Man City 1 - 1 Tottenham A goal is scored by Sergio Aguero from deep inside the penalty area to the bottom left corner of the goal. Man City 1-1 Tottenham.
Raniere Sandro concedes a free kick for a foul on Gael Clichy. Gael Clichy takes the free kick.
Gareth Bale has an effort at goal from outside the penalty box missing to the wide right of the target.
Yaya Toure has an effort at goal from close range which goes wide right of the goal.
Emmanuel Adebayor challenges Pablo Zabaleta unfairly and gives away a free kick. Free kick taken by Joe Hart.
Foul by Gareth Barry on Clint Dempsey, free kick awarded. Brad Friedel restarts play with the free kick.
Inswinging corner taken left-footed by David Silva played to the near post, Jan Vertonghen makes a clearance.
The official flags Carlos Tevez offside. Indirect free kick taken by Brad Friedel.
Substitution Matija Nastasic leaves the field to be replaced by Sisenando Maicon.
Centre by Gael Clichy, save by Brad Friedel.
Aleksandar Kolarov takes a outswinging corner from the left by-line to the near post, Jan Vertonghen makes a clearance. Aleksandar Kolarov takes the outswinging corner, Headed effort from inside the area by Vincent Kompany misses to the left of the target.
The assistant referee flags for offside against Carlos Tevez. Brad Friedel takes the indirect free kick.
Sergio Aguero is caught offside. Brad Friedel restarts play with the free kick.
The referee blows for offside against Carlos Tevez. William Gallas takes the free kick.
Corner taken by Aleksandar Kolarov from the right by-line played to the near post, clearance by Steven Caulker.
Free kick awarded for an unfair challenge on Raniere Sandro by Aleksandar Kolarov. Brad Friedel takes the direct free kick.
The second half begins.
45:00 +2:06 Half time
Half Time The first half comes to an end.
Pablo Zabaleta takes a shot. Save made by Brad Friedel.
Gareth Barry gives away a free kick for an unfair challenge on Aaron Lennon. Free kick taken by Kyle Walker.
Foul by Yaya Toure on Raniere Sandro, free kick awarded. Tom Huddlestone restarts play with the free kick.
Gareth Barry gives away a free kick for an unfair challenge on Emmanuel Adebayor. Jan Vertonghen takes the free kick.
Carlos Tevez takes a shot. Save by Brad Friedel.
Shot by Sergio Aguero from deep inside the penalty area misses to the right of the target.
Aleksandar Kolarov challenges Kyle Walker unfairly and gives away a free kick. Brad Friedel restarts play with the free kick.
The ball is sent over by Carlos Tevez, save made by Brad Friedel.
Centre by Gael Clichy, Jan Vertonghen manages to make a clearance.
Foul by Aleksandar Kolarov on Aaron Lennon, free kick awarded. The free kick is swung in right-footed by Tom Huddlestone, clearance made by Vincent Kompany.
Clint Dempsey fouled by Matija Nastasic, the ref awards a free kick. Tom Huddlestone takes the direct free kick.
Shot from just outside the box by Aleksandar Kolarov misses to the right of the goal.
The referee blows for offside. Free kick taken by Brad Friedel.
Tom Huddlestone crosses the ball in from the free kick, clearance by Matija Nastasic. The ball is delivered by Jan Vertonghen, Gareth Bale has a headed effort at goal from deep inside the area missing to the right of the goal.
Booking Pablo Zabaleta goes into the book.
Pablo Zabaleta gives away a free kick for an unfair challenge on Emmanuel Adebayor.
Free kick awarded for a foul by Pablo Zabaleta on Emmanuel Adebayor. Jan Vertonghen restarts play with the free kick.
Yaya Toure takes the direct free kick.
Booking The referee shows Kyle Walker a yellow card.
Free kick awarded for an unfair challenge on David Silva by Kyle Walker.
Tom Huddlestone has an effort at goal from just outside the penalty box which goes wide of the left-hand post.
Assist by Tom Huddlestone.
20:30 Goal scored
Goal! - Steven Caulker - Man City 0 - 1 Tottenham Steven Caulker finds the net with a headed goal from inside the box. Man City 0-1 Tottenham.
Sergio Aguero challenges Aaron Lennon unfairly and gives away a free kick. The ball is delivered by Tom Huddlestone,
A cross is delivered by Jan Vertonghen, clearance by Vincent Kompany.
Unfair challenge on Sergio Aguero by Jan Vertonghen results in a free kick. Free kick taken by Gareth Barry.
Pablo Zabaleta concedes a free kick for a foul on Gareth Bale. Free kick crossed right-footed by Tom Huddlestone, clearance made by Aleksandar Kolarov. Outswinging corner taken by Gareth Bale from the left by-line, clearance by Gareth Barry. Tom Huddlestone takes the outswinging corner, clearance made by Vincent Kompany.
Free kick awarded for a foul by Tom Huddlestone on Yaya Toure. Aleksandar Kolarov has a direct shot on goal from the free kick, comfortable save by Brad Friedel. Pablo Zabaleta concedes a free kick for a foul on Gareth Bale. Free kick taken by Jan Vertonghen.
Inswinging corner taken left-footed by Aleksandar Kolarov, clearance made by Raniere Sandro.
David Silva has a curled shot. Comfortable save by Brad Friedel.
The assistant referee signals for offside against Aleksandar Kolarov. Indirect free kick taken by William Gallas.
Gael Clichy concedes a free kick for a foul on Aaron Lennon. Kyle Walker takes the direct free kick.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.