Madrid announced Diaz had signed a six-and-a-half-year contract on Sunday for a reported initial fee of €17million.
City boss Pep Guardiola said the reigning Premier League champions had done "absolutely everything" to persuade the 19-year-old to sign a long-term contract extension as speculation mounted over Madrid's interest.
But the versatile attacker opted to make the switch to the Santiago Bernabeu and could not hide his joy as he was presented by Madrid after completing a medical on Monday.
"I'm looking forward to getting started, it's a unique and special moment," he said. "I'm ready to play but the coach will decide.
"All of the players here are amazing. I want to succeed here and contribute to the team. I'm hungry to play.
"I'm very grateful to City, but now I'm at the best club in the world and I want to start.
"I had three options after deciding to leave Manchester City. One, play at Real Madrid, two, play at Real Madrid and three, play at Real Madrid. It was impossible to go anywhere else.
"I come with the intention of being under the coach's command. I will work very hard.
"With work, humility and hunger the minutes will come. The chances are earned by working hard. I will try to give my best. I've come to win titles.
"As a player, it must be others who judge me. It is a happy moment and I have fulfilled my great dream."