Barca hit five past Shakhtar
Andres Iniesta starred for the rampant 2009 winners, three days after becoming a father for the first time, scoring Barca's opener in the second minute at the Nou Camp and creating a second for Daniel Alves just after the half hour.
Gerard Pique added to the home side's tally in the second half and their domination was only briefly checked by a Yaroslav Rakitskiy goal before Seydou Keita and Xavi put Barca almost out of sight ahead of next week's second leg in Ukraine.
A mouthwatering all-Spanish semi-final is a near certainty following Real's 4-0 drubbing of Tottenham Hotspur at the Bernabeu on Tuesday, meaning the La Liga giants would meet an incredible four times in just over two weeks.
They play in the domestic league on April 16 and clash in the final of Spain's King's Cup four days later and would bid for a place in May 28's Champions League final over two legs in the last week of April and the first week of May.
Barca coach Pep Guardiola had warned against underestimating Shakhtar, who recorded a shock 3-2 win at the Nou Camp in December 2008 before Barca went on to win the final and Shakhtar triumphed in the UEFA Cup.
The two teams also met in the final of the European Super Cup in 2009 when a Pedro strike in extra time sealed a 1-0 win for the Spanish side.
"The result is not definitive," Guardiola said in a television interview. "They are a very good team."
"I am more than happy. Looking at our opponent tonight I could not be anything else with a 5-1 victory," he added later.
Spain midfielder Iniesta, scorer of the only goal in last year's World Cup final, punished a Shakhtar defensive error and gave Barca the perfect start when he picked up a loose ball and burst through to finish low inside the near post.
Brazil fullback Alves raced through unmarked on to Iniesta's curled pass to double the home side's lead in the 34th minute and centre half Pique made it 3-0 eight minutes after half-time with a deflected shot from a corner.
Yaroslav Rakitskiy briefly checked Barca in the 59th minute when he flicked the ball past Victor Valdes but Mali midfielder Keita smashed the ball into the top corner from the edge of the area a minute later.
Xavi tapped in the fifth from an Alves centre after 86 minutes to make what had looked a potentially tricky second leg in Donetsk appear a formality.