Goals from Mario Bermejo and Cristian Bustos gave Celta Vigo a 2-1 lead in the first leg of their Copa del Rey fifth-round clash.
The hosts edged a goalless first half, almost taking the lead in the 17th minute when Iago Aspas's ball across the face of goal was nearly forced over the line by Park Chu-Young.
Celta Vigo created another golden opportunity four minutes from the break when the two linked up again, only for the South Korean to scuff his shot.
Paco Herrera's side drew first blood 11 minutes into the second period when Michael Krohn-Dehli's deft pass was tapped home by Bermejo. Real appealed for offside, but the referee was unconvinced.
Real almost hit back on 72 minutes through a Luka Modric volley, but the former Tottenham Hotspur man was denied by home keeper Sergio Alvarez.
Six minutes later it was 2-0. Bustos picked up possession just outside the Madrid penalty area before firing into the top corner in spectacular fashion.
Celta Vigo dominated the game, but Real were handed a lifeline ahead of the second leg when Cristiano Ronaldo shot into the top corner after latching on to a pinpoint pass from Xabi Alonso, giving the visitors an all-important away goal.
The two sides meet at the Bernabeu on January 9.