Jadson, Douglas Costa and Luiz Adriano all found in the net in the space of 12 first half minutes to turn the tie on its head following Simone Perrotta's opener.
Jeremy Menez's second half strike ensured Roma retained a slight hope of triumphing following the second leg in Donetsk in three weeks time.
photo source . AFP |
Roma finished the game to a cacophony of jeers and were even booed when they went to salute their fans after the match.
"Roma live under great pressure, I don't understand the fans' jeers, it's tough to play under these conditions," said Shakhtar's Romanian coach Mircea Lucescu.
"In the second half Roma played really well so you can't blame them for anything.
"We also played a great match, we had five players aged 20-21. I knew we'd have to put Roma under pressure and we managed that."
Roma coach Claudio Ranieri said his team could not have done any more than they did after the break.
"We could have gone under but instead we reacted, we couldn't have done more than that," he said.
"We played the way we needed to, also tactically. But everything went badly.
"But we won't give up and in the return we can do what they did here."
There were ominous signs for Roma on 12 minutes when goalkeeper Doni made a meal of Darijo Srna's free-kick, letting it slip through his hands before being relieved to see it drop on the roof of the net.
Roma should have gone in front on 21 minutes but Nicolas Burdisso amazingly put his header wide from five yards as he arrived at pace to meet Francesco Totti's corner.
Mirko Vucinic then curled a speculative effort just over the bar.
Roma went in front with a scrappy goal on 28 minutes as Rodrigo Taddei crossed for Perrotta to head goalwards, the ball hitting Razvan Rat in the chest and the defender failing to react as the ball then bounced over the line.
Just a minute later it was all square, though, as Jadson's shot deflected off Daniele De Rossi and wrong-footed Doni.
Dmytro Chygrynskiy then headed back across goal but Luiz Adriano couldn't turn it home.
The turnaround was complete on 36 minutes as Douglas Costa drove at a hesitating Roma defence, cut inside onto his left foot and curled a delicious strike around Doni.
Up the other end Vucinic tried to do something similar but sent his effort beyond the far post.
On 41 minutes disaster struck for Roma as John-Arne Riise lost his balance and fell over, allowing Douglas Costa to steal the ball and set up Luiz Adriano to shoot home under Doni.
Riise was hauled off at half-time and later begged for forgiveness.
"I feel bad, it's an incredible mistake on my part. The fans are against me and I ask for forgiveness to everyone, my team-mates too," he said.
"I think we played badly but now I feel really bad for my mistake.
"I was ready to play in the second half but Ranieri told me I'd be replaced, I think because of the mistake.
"I feel bad and will also tomorrow. I hope the fans understand I give my all."
Menez curled an effort wide for Roma but it could have been even worse for the hosts before the break as Douglas Costa released Luiz Adriano again and he shrugged off Philippe Mexes's shirt pull but then did not get enough weight behind his chip over Doni and Nicolas Burdisso got back to clear.
Roma took 15 minutes of the second period to finally threaten the Shakhtar goal but Menez couldn't keep his knee over the ball and volleyed high.
But just a minute later he made ammends, curling an unstoppable shot into the top corner from 20 yards.
Armenian Henrik Mkhitaryan then kept Doni busy with a skimming shot from distance.
Doni had to charge from his area to deny Luiz Adriano on the edge of his box while Mkhitaryan squuezed a finish just past the post.
Paolo Castellini forced Andriy Pyatov to tip over the bar before Totti shot straight at the keeper when well placed.
Substitute Marco Borriello directed a late header wide but Roma could not rescue a draw.
What the stars mean:
★ Poor ★ ★ Promising ★★★ Good ★★★★ Very good ★★★★★ Exceptional