The 20-year-old Brazil international has been widely tipped for a move to a top European club this summer with Arsenal and Tottenham reportedly interested.
Shakhtar were the only team to have a bid accepted for the player however, with the fee in the region of £22 million, and the forward has now signed a five-year deal.
The deal could prove particularly frustrating for Gunners fans, having also seen Arsene Wenger miss out on Argentine striker Gonzalo Higuain, who joined Serie A side Napoli from Real Madrid and played against Arsenal at the Emirates Cup.
Atletico president Alexande Kalil spoke of the English offers for his player before he signed a contract for Shakhtar.
"Tottenham made an offer of 18m euros (£15.7m) for Bernard, but they withdrew," he told Radio Itatiaia.
"Arsenal told us that they would bid, but never did. So what we have now is a 25m euros (£21.8m) bid from Shakhtar."
Bernard, who turns 21 next month, helped Atletico Mineiro clinch Copa Libertadores and was part of this year's Confederations Cup winning Brazil team.
At only 164 cm tall, he was twice axed from Atletico Mineiro youth system because of his short height.
In 2010 Bernard was loaned to the third-division club Democrata where he scored 14 goals in 16 games before returning to Atletico Mineiro.