The match marked the first appearance of Blues defender John Terry since accepting his domestic racism ban, and it got off to the worst possible start as he unwittingly set up Shakhtar's opener from Alex Teixeira inside three minutes.
Fernandinho then put Shakhtar even further ahead seven minutes into the second half, with Oscar scoring a late consolation for the visitors.
The win moves Shakhtar three points clear of their opponents in Group A, while Juventus are four points adrift of the leaders following a surprise 1-1 draw at Nordsjaelland.
Mikkel Beckmann's free-kick gave the hosts a shock lead five minutes into the second half, and they held out for more than half an hour before Mirko Vucinic lashed in an equaliser.
Barcelona were given a scare in Group C before sneaking past Celtic 2-1 in the dying seconds at the Nou Camp.
The Spanish giants had trailed to a Georgios Samaras header after 17 minutes, but Andres Iniesta levelled a minute before the break and a stoppage-time goal from Jordi Alba snatched their third successive win in the competition.
In the same group, Spartak Moscow earned their first Champions League points of the season with a 2-1 victory at home to Benfica.
Rafael Carioca gave the hosts a third-minute lead, and although Rodrigo Lima headed Benfica level at the Luzhniki Stadium, a Jardel own goal restored Spartak's advantage before half-time.
Manchester United came from two goals down to see off Braga 3-2 at Old Trafford.
The home crowd were silenced by two goals in the opening 20 minutes from Alan, but Javier Hernandez pulled one back after 25 minutes and Jonny Evans levelled the match in the 63rd minute.
Hernandez then completed the comeback with his second 13 minutes later to ensure United remain in the driving seat with three wins from three in Group H.
Galatasaray claimed the first point of their campaign with a 1-1 draw against Cluj.
It was a frustrating night for the hosts, with Dany Nounkeu putting through his own net to give Cluj a 19th-minute lead before Felipe Melo missed a penalty 10 minutes before half-time.
Gala dominated the second half though, and got their reward through Burak Yilmaz 13 minutes from time.
Group F is a much tighter affair with Valencia, BATE Borisov and Bayern Munich all locked on six points.
A hat-trick from Roberto Soldado ensured Valencia were convincing 3-0 winners in Belarus.
The Spain striker opened the scoring from the penalty spot just before half-time and struck twice more in the second half to sink BATE.
Bayern, meanwhile, hit back from their shock loss to BATE last time out to edge past Lille 1-0, courtesy of Thomas Muller's 20th-minute penalty.
The result means Lille have lost all three of their matches so far, conceding six goals in the process.
Tuesday's Champions League results