Mariano Diaz returned to Real Madrid on Wednesday after spending one season with Lyon, where he scored 21 goals.
Madrid exercised a clause that gave them the priority opportunity to bring back the 25-year-old, who signed a five-year contract until 2023.
Lyon confirmed Madrid would pay €30 million to bring back Mariano, plus €3m in potential bonuses, after selling him to Lyon for €8m a year ago. Lyon will also receive 15 percent of any future sale.
Mariano joined Madrid in 2012 from Badalona and rose up the ranks before making his debut against Celta Vigo under Zinedine Zidane during the 2016-17 campaign. He made 14 appearances for Madrid that season, with five goals in all competitions.
Madrid coach Julen Lopetegui reportedly called Mariano, who was said to be very close to a deal with Sevilla, to explain what was expected of him on his return to the club if he was interested.
Before the deal was announced, Lyon president Jean-Michel Aulas revealed some details of the transfer, claiming that Madrid were not always interested in the player.
"Mariano told me he wanted to go to Madrid before passing on the Sevilla offer," Aulas said. "I told Florentino and he told me that he wasn't the player he was looking for. And then the offer came in."
Mariano will play as Karim Benzema's back-up, with Borja Mayoral moving down the pecking order again if he does not leave on loan.
"We decided, between the club, the coach and myself, that the best option for me was to leave to gain regular playing time, but I'll never close the door on Real Madrid," Mariano said in January.
Aulas said Lyon would look to sign a replacement before the transfer window ends on Friday and admitted interest in Celtic's Moussa Demebele and Lille's Nicolas Pepe.