Yarmolenko comes on the same day Ousmane Dembele finalised his switch from Dortmund to Barcelona in a massive transfer worth an initial €105m.
“I am very grateful that Dynamo Kiev have fulfilled my dream of being able to switch to a big European club!” the 27-year-old told his new club’s website.
“I will work hard in every training to help BVB achieve its biggest goals – that’s what I always do.”
The Ukraine international, named his country’s Footballer of the Year three times, has been given the number nine shirt at Signal Iduna Park
Yarmolenko’s move ends a 10-and-a-half-year stay with Dynamo, where he won Ukraine’s Premier League on three occasions.