Two first half goals by Luis Suarez gave Barcelona a 2-1 win at Manchester City as they moved within sight of the Champions League quarter-finals.
In a repeat of last season's round of 16 first leg at the Etihad, Barcelona were too slick for City who were sent reeling by a dizzying opening 45 minutes from the visitors.
Uruguay forward Suarez fired Barca in front in the 16th minute and doubled the lead after half an hour with the hosts powerless to stop the yellow tide surging towards their goal.
A vastly improved second-half showing from City gave them hope for the second leg at the Nou Camp next month with Sergio Aguero halving the deficit 20 minutes from time.
With City down to 10 men after Gael Clichy's red card, Lionel Messi could have restored Barcelona's two-goal lead but his penalty was saved by Hart before the Argentinian headed the rebound wide.
Meanwhile Juventus overcame a blunder by defender Giorgio Chiellini and a first-half injury to playmaker Andrea Pirlo to beat Borussia Dortmund 2-1 in Italy.
Carlos Tevez tapped in from close range to give the Serie A champions a 13th minute lead, only for a slip by Chiellini five minutes later to let in Marco Reus for a clinically-taken equaliser.
In a passionate atmosphere, Juventus suffered another blow in the last-16 first-leg tie when Pirlo went off injured just after the half hour.
But a superbly-taken goal by Alvaro Morata just before halftime gave them a precious lead for the second leg for what looks to be another knife-edge match.