The Colombian has agreed to a stunning three-year deal after holding lengthy talks with boss Carlo Ancelotti.
It is believed Real Madrid have accepted an offer thought to be around £22million.
Boss Zinedine Zidane was open to cashing in as Rodriguez entered the final year of his contract.
Ancelotti is a huge admirer of the 29-year-old having managed him at Los Blancos and Bayern Munich.
Rodriguez has yet to travel to Merseyside but personal terms have been agreed and an announcement is understood to be imminent.
He is set to pocket around £4m-a-year during his time at Goodison Park.
Rodriguez will be Ancelotti’s first marquee signing of the season as he looks to improve on the club’s 12th place finish.
The player can now reignite his career having made just eight LaLiga appearances last season after returning from a two-year loan stint at Bayern.
Rodriguez moved to Real Madrid for £63m in 2014 making him the fourth most expensive player of all-time.
Last month Ancelotti revealed his admiration for the player but cast doubts on whether he could sign him.
The Italian said: “James Rodriguez? I like, I like a lot as a player.
“When I left Madrid, James Rodriguez followed me to Munich. He came to play.
“But he followed me as a rumour to Napoli and now he is following me here to Everton as a rumour.
“I have to be honest, I like him a lot. But he is a Real Madrid player. I think he will still be a Real Madrid player.”
Everton are also closing in on the signing of Napoli’s Allan with the midfielder costing £25m.