Two defensive mistakes appeared to have cost the reigning Bundesliga champions dearly, but strikes from Robert Lewandowski and Mats Hummels cancelled out efforts from Dario Srna and Douglas Costa and crucially afforded the Yellow-Blacks two priceless away goals.
Despite the Ukrainian league's ongoing winter break, there was no sign of rustiness from the hosts early on. Shakhtar looked dangerous in the opening exchanges and forced Dortmund onto the back foot with their swift breaks forward, although they failed to fashion a clear sight of goal.
Nevertheless there were one or two nervous moments for Jürgen Klopp's troops at the back, with a side deprived of regulars Ilkay Gündogan and Neven Subotic lacking their characteristic understanding. Up front, however, the quartet of Lewandowski, Jakub Blaszczykowski, Mario Götze and Marco Reus looked as menacing as ever and increased in influence as the game matured. It was from the latter's corner that Hummels rattled the crossbar with a header on 17 minutes.
Yet a defensive blunder - a clumsy tackle on the edge of the area from Felipe Santana - led to the hosts breaking the impasse as Srna rifled an unstoppable shot from the ensuing free-kick over the wall and beyond the reach of Roman Weidenfeller. Dortmund levelled shortly before the interval, albeit in a fortuitous manner. Lewandowski's miscued shot from Götze's cross deceived two Donetsk defenders, allowing the Pole plenty of time and space to pick his spot from six yards.
Dortmund re-emerged from the tunnel intent on scoring again, yet their attacking efforts invariably broke down due to sloppy passing in the final third. The Ukrainians packed the defence and set out their stall to exploit their guests on the counterattack, but only did so half-heartedly, appearing reluctant to leave themselves exposed to Dortmund's pacy frontline.
The visitors were made to pay for another defensive error when Marcel Schmelzer stood off Douglas Costa, allowing the Brazilian time to bring down a seemingly harmless long ball and expertly dispatch a fierce volley on the swivel. Lewandowski smashed a volley of his own just wide at the other end moments later as the tempo increased going into the final stages.
With the clock winding down and Dortmund struggling to make their presence felt in their search for an equaliser, salvation came in the form of a defensive duo. Schmelzer redeemed himself for his earlier passivity with a sumptuous outswinging corner from the left, inviting centre-back Hummels to power his header into the net, swinging the tie in Dortmund's favour ahead of the return leg on 5 March.
Donetsk: Pyatov - Srna, Rakytskyy, Chygrynskyy, Rat - Fernandinho, Hübschmann - Teixeira, Mkhitaryan, Taison (Douglas Costa 62') - Luiz Adriano
Dortmund: Weidenfeller - Piszczek, Santana, Hummels, Schmelzer - Bender, Kehl - Blaszczykowski (Leitner 80'), Götze, Reus (Scheiber 90+1') - Lewandowski
Goals: 1-0 (Srna 31'), 1-1 (Lewandowski 41'), 2-1 (Douglas Costa 68'), 2-2 (Hummels 87')