The highly-rated teenager was formally unveiled as a Real player on Monday after passing a medical and completing the formalities of his £22million switch from the Etihad Stadium.
City are understood to have secured a basic £15.5million fee for Diaz with a potential extra £6.5million in add-ons.
The deal includes a 15 per cent sell-on clause but that rises to 40 per cent if the buying club are Manchester United.
Diaz has signed a six-and-a-half year contract with the European champions, but had no bad words against City after completing the move.
"I am really grateful to City for they helped me a lot but I am very really pleased to be here now at the biggest club in the world," he said. "I really just want to get started."
The 19-year-old Spanish forward made only 15 first-team appearances for City but was regarded as one of their most promising academy graduates and was offered a lucrative deal to stay.
But Diaz, who had just six months remaining on his City contract, says he had no hesitation in opting for Real.
"When I was told of Real Madrid's interest I didn't think twice about it," he said. "Today is the most important day of my life, arriving at the team I dreamed of playing for when I was a child. This is the best present for me for Christmas.
"When I decided to leave Manchester City I only thought about three options. The first one, play for Real Madrid; the second one, play for Real Madrid and the third one, play for Real Madrid.
"I didn't want to go anywhere else. It was impossible to go to a better club."