The 25-year-old has agreed a four-and-a-half year contract with the Spanish giants.
The transfer fee for the Ajax favourite could rise to a potential £23million.
A statement from Real Madrid read: “Huntelaar is the new Real Madrid player. Real Madrid and Ajax Amsterdam have reached an agreement for the forward.
“As usual, the deal is dependent on the player passing a medical and the signing of his contract with Real Madrid.
“Klaas Jan Huntelaar will be tied to Real Madrid until June 30, 2013.”
Huntelaar is currently out with an ankle injur and will not be back in action until early 2009.
“I grant Klaas Jan this transfer, though we preferred to finish this season with him,” Ajax coach Marco van Basten was quoted as saying in a statement.
“It is logical when a club like Real Madrid is interested, to keep him here and at Ajax we need to focus on our future-oriented policy instead of one player.”