The Spanish giants announced the deal for the 21-year-old, who is still to undergo a medical, on their official website.
Spanish sports newspaper Marca claimed on Thursday that Real had agreed a reported 15million euros for the Brazilian starlet.
Silva will be officially unveiled at the Bernabeu on Monday.
The South American player had been linked to Real since August, with the Madrid outfit looking for a replacement for Xabi Alonso, who joined Bayern Munich last summer.
Silva has been linked with a host of Premier League sides – including Arsenal – during the last few months, but the player revealed he is keen on a move to the Spanish capital.
The signing of Silva follows that of Norwegian teenager Martin Odegaard from Stromsgodset.