Twice behind, the German champions salvaged a first-leg draw thanks to centre-back Mats Hummels' thumping 87th-minute header.
A late equaliser from Mats Hummels earned Borussia Dortmund a draw in their UEFA Champions League round of 16 first leg against FC Shakhtar Donetsk.
Substitute Douglas Costa seemed to have given the Ukrainian side a lead to take into the return leg on 5 March with a splendid 68th-minute strike, Robert Lewandowski having cancelled out Darijo Srna's fine free-kick before the break. However, Hummels' thumping header three minutes from time ensured BVB left Ukraine with two away goals.
Dortmund had beaten Real Madrid CF and Manchester City FC in the group stage and in the opening 20 minutes it was easy to see why. The Shakhtar defence had numerous problems coping with the Bundersliga team's incisive attacking quartet of Mario Götze, Jakub Błaszczykowski, Lewandowski and, especially, Marco Reus, whose movement was a particular cause for concern.
Yet, for all their attacking intent, it was from a set piece that Dortmund almost opened the scoring on 17 minutes. From a left-wing corner, Hummels lost his marker, but his header came back off the crossbar with Andriy Pyatov beaten.
As the half wore on, Shakhtar managed to get into the game, with new signing Taison a menace down the left. Just after the 30-minute mark the Pitmen took the lead thanks to a free-kick from Srna, the Croatian international curling an excellent shot over the wall and just out of the reach of Roman Weidenfeller's right glove.
Mircea Lucescu's side continued to grow in confidence, but were rocked by Lewandowski's equaliser four minutes before the break. The Poland striker completely mis-kicked Götze's cross, but with Dymtro Chygrynskiy and Fernandinho already having thrown themselves to the ground to try to block the expected shot, the 24-year-old had time to compose himself before slotting past Pyatov for his fifth goal in this season's competition.
Chances were scarce in the second period until Shakhtar edged in front again. Marcel Schmelzer failed to deal with a routine long ball from Yaroslav Rakitskiy and Douglas Costa, on for Taison six minutes earlier, stole in unchallenged to fire beyond Weidenfeller.
The visitors pushed for an equaliser and Lewandowski should have got it but he shot wide from close range on the half-volley. However, Jürgen Klopp's men were not to be denied. With time ebbing away, Hummels found the back of the net from Schmelzer's corner, giving the German outfit the upper hand ahead of the second leg in three weeks' time.