Dortmund made an obligatory statement to the German stock exchange on Monday confirming they were in negotiations with Shakhtar for the Armenian midfielder, but that "details still have to be resolved".
Overnight, Donetsk said the transfer was wrapped up and the 24-year-old had become a Dortmund player for a fee of £23.7million.
Dortmund have confirmed that Mkhitaryan has agreed a four-year contract to become the club's third summer signing following the arrivals of Soktratis Papastathopoulos and Pierre-Emerick Aubameyang.
Liverpool had been heavily linked with the player throughout the summer - although there was never any official contact between either club or Mkhitarian himself.
Dortmund sporting director Michael Zorc told the club's official website: "We are delighted that we got a fantastic new signing for the attacking midfield role in Henrikh Mkhitaryan."
Dortmund's chairman of the board Hans-Joachim Watzke added: "It was not an easy transfer, but we really wanted to have Henrikh - and now we have him!"
Mkhitaryan, who had been linked with Liverpool this summer, shot to prominence last season when he scored 12 goals in his side's first nine games of the season.
He then scored twice in his side's opening Champions League tie against FC Nordsjaelland and helped the club dispose of Chelsea in the group stage of that competition.
He made a total of 106 appearances for Shakhtar and scored 46 goals and is destined to plug the gap in the Dortmund side left by the sale of Mario Gotze to Bayern Munich.