Mkhitaryan had been heavily linked with a move to Liverpool but has now gone to Dortmund instead.
"Shakhtar Donetsk and Borussia have settled all matters on Henrikh Mkhitaryan transfer to the German club. Transfer fee is 27.5 million euros," Shakhtar said in a statement on their website (www.shakhtar.com)
"We are delighted that we got a fantastic new signing for the attacking midfield role in Henrikh Mkhitaryan," BVB sporting director Michael Zorc told Dortmund's website (www.bvb.de).
Mkhitaryan was key for Shakhtar last season as they won the Ukrainian league and got to the last 16 of the Champions League.