The Portugal international, linked with moves to Paris Saint-Germain and former club Manchester United over the past 18 months, is said to have now finalised negotiations over fresh terms at the Bernabeu.
Spanish football expert Guillem Balague claims that Madrid chiefs are waiting for the best moment to make an announcement, with one eye on the presidential election in 2017.
Speaking to Sky Sports News, Balague said: "Cristiano Ronaldo's contract is all done, all finalised. It has been agreed for months. Nobody has come out with an exact number on how many years, but it's either two or three years.
"Real Madrid have been forced, in a way, to give him a new contract for different reasons. 1) His contract finishes in 2018. 2) Because of the transfer ban. 3) Even though there was a strategy from both parties to see if they could get end up going separate ways, basically it didn't take off.
"Paris Saint-Germain were not interested enough, Manchester United were never in the equation, and Cristiano decided it was best to stay put."
Ronaldo has maintained his impressive scoring stats with Madrid this season by scoring four times in his first seven appearances since returning from injury.