Manchester City needed a late Yaya Toure penalty to beat Norwich City and stay top of the Premier League.
Nicolas Otamendi's header put the hosts in front, before Joe Hart inexplicably dropped the ball at the feet of Cameron Jerome for a Canaries equaliser.
That sparked a frantic finale, as Toure scored from the spot after Russell Martin's red card for handball.
There was still time for Aleksandar Kolarov to miss a penalty in injury time as Man City laboured to victory.
It was a combination of Norwich's organised, solid setup and Man City's sluggish approach play that caused frustration for Manuel Pellegrini's side for long periods.
The Canaries, benefitting from using three central defenders, stifled the host's creativity and with it the enthusiasm of the crowd in Etihad Stadium.
Forward Kevin De Bruyne was central to most of Man City's build-up play, but they struggled without the imagination of playmaker David Silva and the work ethic of striker Sergio Aguero, who were both injured.
The home supporters grew increasingly agitated with Bony's lack of cutting edge, and it seems Pellegrini's title hopes could hinge on getting Silva and Aguero back to full fitness.