The hosts led twice in the first half, Moussa Dembele diverting in Erik Sviatchenko's header and Kieran Tierney forcing an own goal by Raheem Sterling.
Fernandinho's strike brought City level first time and Sterling showed composure to net the visitors' second.
Nolito equalised for the visitors again after Dembele had netted on the turn.
Barcelona's win over Borussia Monchengladbach in Germany keeps the Spaniards top of the group with City two points behind in second. The top two meet in Barcelona on 19 October.