The 23-year-old has moved to the BayArena after helping La U win the Chilean Apertura title during his six-month spell in Santiago
The BayArena club have lost Eren Derdiyok this summer, and after Stefan Kiessling endured a mixed season in front of goal, the Bundesliga side have moved to bolster their attacking options.
"We wanted Junior Fernandes because, after the departure of Eren Derdiyok, there was a vacancy going forward," Leverkusen CEO Wolfgang Holzhauser told the club's official website.
"We are glad that we could get this very talented player to join us and we believe we will become more competitive with this transfer."
Sporting director Rudi Voller added: "Junior Fernandes has everything you need from a modern offensive player. He is physically strong and technically robust, fast, and good in front of goal.
"We are sure that he will prevail in the Bundesliga."
The Chile international, who has won six caps for his country, only joined the Santiago outfit in January, but scored eight goals in his 15 league appearances as he helped La U to the Apertura title.
He had previously represented Cobreloa, Mejillones, Magallanes and Palestino before moving to Estadio Nacional.
The 23-year-old will take the No.7 jersey in Leverkusen, which was recently vacated by Swiss winger Tranquillo Barnetta, who moved to Schalke at the end of the season.