Lionel Messi scored his club-record 48th goal of the season on Tuesday as Barcelona advanced to the Champions League semifinals with a clinical 1-0 win at Shakhtar Donetsk, easily protecting a 5-1 advantage from the first leg.
Messi struck in the 43rd minute to send the Spanish champion through to a probable semifinal against archrival Real Madrid, which has a 4-0 edge over Tottenham going into Wednesday's second leg.
Barcelona outclassed its Ukrainian opponent with its superior passing to hand the Ukrainian side its first home defeat in European competition in more than two years.
"I've been a Shakhtar fan for the last three years," Barcelona coach Pep Guardiola said. "The team is getting stronger and I hope we will not meet them next season."
With Shakhtar needing to make up a four-goal deficit, the hosts came out playing their typical attacking football and had plenty of chances, calling Barcelona goalkeeper Victor Valdes into action several times. But the visitors never looked likely to give up their massive advantage from the first leg and always looked threatening on the counterattack.
"We've learned all about the strong and weak sides of Barcelona," Shakhtar coach Mircea Lucescu said. "The only thing we missed was Messi. Should he have played for Shakhtar, we would have beaten Barcelona."
Shakhtar started brightly and Jadson played a neat pass to Luiz Adriano in the box the fifth minute, but Valdes came out to make the stop.
Valdes was needed again in the 12th when Douglas Costa turned a defender and found Jadson, but his shot was blocked.
Jadson had an even better chance in the 23rd minute. Vasyl Kobin advanced on the right and found the Brazilian unmarked near the penalty spot, but his shot was easily stopped by Valdes at his feet.
While Shakhtar was having most of the attacking play, Barcelona looked dangerous on the counterattack.
In the 30th minute Adriano burst into the box on the left, but his shot was blocked by Yaroslav Rakitskiy with goalkeeper Andriy Pyatov beaten.
One minute later, Messi found himself one-on-one with Pyatov, but the goalkeeper easily reached his chip.
Shakhtar's inexperienced defense, decimated by injuries to captain Dario Srna and Dmytro Chygrynskiy, was starting to look uncomfortable.
Barcelona took advantage when Dani Alves passed to Messi, who drove into the box, beat a defender and slotted the ball past Pyatov for his ninth goal in 10 matches in the competition this season.
Jadson went close with a free kick in the final minute of the first half, but Valdes pushed the ball wide of the post.
Shakhtar again came out attacking in the second half. Willian put in a cross from the left in the 48th, but no one could get on the end of it.
But the more the hosts pushed forward, the more menacing Barcelona looked on the counter.
Messi took the ball effortlessly past two players in the 58th before slipping it into the area to Ibrahim Afellay, whose curling shot was saved by Pyatov at full stretch.
Afellay crossed for David Villa in the 63rd, but Vyacheslav Shevchuk got there before the striker.
Shakhtar continued to press, but its passing lacked Barcelona's precision.
Eduardo da Silva, on as a substitute for Shakhtar, brought the ball forward in the 74th, finding Henrikh Mkhitaryan in the penalty box. He turned and shot, ignoring an overlapping runner, but Valdes made another good stop.
Substitute Marcelo Moreno should have scored in the 83rd when Kobin found him six yards out in front of his defender, but he knocked the ball wide, a miss that summed up Shakhtar's luckless night.