Manuel Pellegrini’s side, inspired by two-goal Edin Dzeko, came from behind to seal a win which sent us top of the table on goal difference with two games of the campaign remaining.
With title rivals Liverpool hoping their neighbours would do them a favour, Ross Barkley got the hosts off to a flying start when he curled into the top corner from 25-yards.
City regrouped, however, with Sergio Aguero levelling 11 minutes later, before Dzeko nodded home James Milner’s centre to give the visitors a half-time lead.
Within three minutes of the restart it was 3-1, as the Bosnian striker steered home Sami Nasri’s cross from six-yards.
Romelu Lukaku pulled one back with a diving header to set up an anxious final 25 minutes for City, but the champions to be held on to grind out a crucial win.