Javier Hernandez has joined Bayer Leverkusen from Manchester United, the Bundesliga club have announced.
The Mexico striker, who spent last season on loan at Real Madrid, has signed a three-year contract after the clubs agreed a fee believed to be around £7.3million.
The move was completed on transfer deadline day in Germany.
Hernandez, 27, was on the bench for United's 2-1 Barclays Premier League defeat at Swansea on Sunday but last started for the team more than a year ago.
He returned to United after scoring nine goals during his spell with Real - including the winner in their Champions League quarter-final against rivals Atletico Madrid - but manager Louis van Gaal has again allowed him to leave.
Hernandez told the Leverkusen website, www.bayer04.de: "I know two of the biggest leagues in Europe in the English Premier League and the Primera Division in Spain and now I want to experience the Bundesliga.
"I've heard a lot about the fantastic stadia in Germany and about the unique fans they have there.
"The Bundesliga is an extremely attack-minded league and it's particularly enticing for me.
"It's fantastic that I can now play for a club like Leverkusen, who are obviously known to me from the Champions League.
"Bayer Leverkusen is a big opportunity for me and I can and want to achieve a lot here."
Leverkusen were drawn alongside Barcelona, Roma and BATE Borisov in Group E of the Champions League last week.
The club's general manager Michael Schade said: "After we finally secured our place in the Champions League, we wanted to send out a clear signal with our attack, and we've succeeded in doing this with Javier Hernandez."
Hernandez scored 59 goals in 156 appearances for United after signing from Chivas in 2010.
He is the second United player to secure a move to Germany today, with Adnan Januzaj joining Borussia Dortmund on a season-long loan.