Yaya Toure struck a late penalty winner as Barclays Premier League leaders Manchester City snatched a dramatic 2-1 win over 10-man Norwich.
A Joe Hart error had gifted Norwich’s Cameron Jerome an unlikely equaliser seven minutes from time at the Etihad Stadium.
Before that City had looked in control after finally breaking the resilient Canaries with a firm header from Nicolas Otamendi after 67 minutes.
But a frantic finish followed as Hart gifted Jerome his equaliser and Norwich then had captain Russell Martin sent off for blocking a Raheem Sterling shot with his arm.
Toure rifled home the resulting spot-kick but then appeared annoyed to be substituted soon after. City were awarded a second penalty in injury time but Aleksandar Kolarov missed.
The closing moments of the game contrasted with the sedate nature of most of the rest of the contest.
Norwich were thrashed 7-0 on their last visit to the Etihad two years ago and set out to avoid a repeat and sat deep to frustrate the hosts.
But openings inevitably came and Wilfried Bony will have been disappointed not to get on the scoresheet, missing three good chances in the first half. John Ruddy saved one of them but two others were blasted wide. Toure also brought the best out of Ruddy from a free-kick.
Norwich’s opportunities were rare but they showed they could be a threat with one counter-attack leading to a Matt Jarvis chance, which Hart saved.
Vincent Kompany headed wide from a corner and City’s frustration continued after the break as Bony was denied another shooting chance by a well-timed Sebastien Bassong tackle.
It seemed inevitable that City would turn to Sterling and the £49million man was summoned from the bench after 54 minutes. Iheanacho, who had been making his first Premier League start after an impressive Capital One Cup showing in midweek, made way.
The change paid dividends as City changed shape and Sterling lifted the tempo with some energetic bursts.
The crowd responded with renewed enthusiasm and the hosts eventually made their breakthrough from a set-piece midway through the second half.
Kevin De Bruyne delivered an excellent corner from the right and Otamendi, hovering near the penalty spot, rose unchallenged to power a firm header past Ruddy.
De Bruyne was withdrawn soon after as City boss Manuel Pellegrini perhaps started to turn his attention towards Tuesday’s Champions League trip to Sevilla.
But that could have proved very costly as City slipped into cruise control mode and were punished for a rare Hart gaffe.
The England number one looked to have claimed a Robbie Brady cross from the right but dropped the ball as he landed and Jerome pounced from close range.
It then became a test of City’s mettle and they roused themselves for a late surge.
Norwich had just minutes to hold on but Ruddy cracked as he lost the ball under pressure from Fernandinho on the edge of the area.
Fernandinho went down on the edge of the area under Ruddy’s challenge but the ball rolled on to Sterling. His snap-shot was blocked by the arm of Martin and referee Robert Madley immediately pointed to the spot and brandished the red card.
Toure rifled home the penalty but that was not the end of the drama in what proved a chaotic finish.
Hart atoned for his earlier error by denying Martin Olsson with a fine save in injury time and Toure appeared to react angrily to being substituted by Pellegrini.
City were then awarded a second penalty as Sterling was tripped by Brady but Kolarov shot wide with the last kick of the game.