Lionel Messi scored another Champions League hat-trick as Pep Guardiola endured a nightmare return to the Nou Camp.
The Argentine bagged his first before the break, capitalising on a Fernandinho slip before beating Claudio Bravo.
City had chances to level but a ludicrous handball from Bravo put Barca in complete control.
Messi soon beat substitute Wily Caballero to add his second before completing his hat-trick.
Neymar then missed a penalty but made amends soon after with a fine solo goal.