The Primera Liga side announced that they had captured the signature of Ballesteros, and that of Romanian star Constantin Galca, after lengthy but fruitful talks.
25-year-old Ballesteros, a well-respected central defender, arrives at the club after a plea from coach Victor Munoz to strengthen his back-line.
Tenerife and Rayo both half-owned the player but agent Jose Maria Orobitg tied up the complicated proceedings last week, with a fee of around £1.75 million mooted.
Ballesteros was on the very cusp of joining Southampton last season, when he decided to walk away from Tenerife, but the Spaniard instead agreed on a move to Rayo, who had offered a four-year contract.