Manchester City pulled off a stunning late fightback to beat hosts Real Madrid 2-1 in Wednesday’s UEFA Champions League last 16 first leg fixture.