Luis Suarez's first-half double put Barcelona on course for the quarter-finals of the UEFA Champions League, but Joe Hart saved a last-gasp Lionel Messi penalty to keep Manchester City in the last-16 tie as the Catalan giants won 2-1 at the Etihad Stadium.
Barca beat the Premier League champions 4-1 on aggregate in the round of 16 last year and Suarez's first brace for the club ensured they are strong favourites to knock Manuel Pellegrini's side out again 12 months later.
Messi has missed 5 of the last 10 penalties he has taken (Argentina and Barcelona)— MisterChip (English) (@MisterChiping) February 24, 2015
City were unable to cope with Luis Enrique's men in the first half and could have been further behind as the attacking trio of Messi, Neymar and Suarez caused all sorts of problems.
Sergio Aguero pulled a goal back in a second half in which City gave a far better account of themselves, but a fightback looked unlikely when Gael Clichy was sent off for a second bookable offence.
Messi could have given City an even bigger mountain to climb when he won a penalty into the final minute of stoppage time, only for Hart to deny the Argentina forward with a fine save.
City will welcome the influential Yaya Toure back for the return game against his former club on March 18, but they have it all to do as they attempt to reach the last eight of the Champions League for the first time.
The recalled Martin Demichelis was sent off for a professional foul on Messi at the Etihad Stadium last season, but the defender denied his Argentina team-mate with a fine tackle after Neymar had foxed Pablo Zabaleta and delivered a fine pass.
Suarez fired just wide of the near post as City struggled to cope with Barca's rapid passing and movement. However, the Uruguay striker was not denied an opening goal after 16 minutes.
Messi was as at his brilliant best and, when Vincent Kompany could only head the mercurial forward's cross against Suarez, the former Liverpool man fired home with his left foot before the Belgium captain had time to react.
Edin Dzeko headed just wide when City made a rare foray forward before Barca doubled their lead after 30 minutes and once again it was Suarez applying the finish.
City were unable to stop Messi as he surged forward at pace and laid the ball off for Jordi Alba, who showed great composure to bide his time before delivering a cross for the onrushing Suarez to tuck in from close range.
Barca were in complete control and Dani Alves struck the crossbar with what appeared to be an attempted cross before Samir Nasri finally called Marc-Andre ter Stegen into action two minutes before the end of a one-sided first half.
200 - Barcelona have now conceded 200 goals in the Champions League, in this, their 200th game. Neat.— OptaJoe (@OptaJoe) February 24, 2015
City looked far more dangerous in the first few minutes of the second half than they had in the opening 45 and a great Javier Mascherano block kept out Nasri's strike, before the unmarked Dzeko headed straight at Ter Stegen from six yards out.
Wilfried Bony came on for his Champions League debut in place of Dzeko and City deservedly pulled a goal back when David Silva's clever backheel found Aguero, who fired an unstoppable right-foot strike beyond Ter Stegen.
Any hopes of City avoiding a first-leg defeat looked slim four minutes later, though, as Clichy was shown a second yellow card for a challenge on Alves.
Messi then had the opportunity to ensure Barca headed into the second leg with a 3-1 lead, but Hart dived to his left to keep out the usually clinical forward's spot-kick and the Argentina star headed the rebound wide.