The versatile Spaniard has been expected to leave the club this summer, with previous contract talks failing to bear fruit as he prepares to become a free agent at the end of June.
Vazquez played a key role under recently-resigned manager Zinedine Zidane last term, chalking up two goals and six assists in 24 La Liga appearances before suffering a season-ending injury in April's El Clasico win over Barcelona.
That ruptured cruciate ligament was expected to spell the end of his time at the Bernabeu, but Marca reports that Vazquez has now agreed to sign a new three-year deal in Madrid.
Vazquez was linked with moves to Atletico Madrid, Arsenal and Manchester United amid his long-running contract saga, but the report claims that his priority was always to remain with Real, who tabled an improved offer after his injury.
The 29-year-old will play under the tutelage of Carlo Ancelotti, who is confirmed to be re-joining the club as manager from Everton.