Luka Modric scored a stunning late goal to give Real Madrid a 2-1 win at struggling Granada and keep their fading La Liga title hopes alive.
Karim Benzema turned in Dani Carvajal's low cross to open the scoring for Real.
They were in danger of slipping six points behind leaders Barcelona, who won 2-0 at Levante earlier, as Yousseff El-Arabi equalised for Granada.
But Modric hammered the ball into the top corner in the 84th minute to give boss Zinedine Zidane a first away win.
The opener was Benzema's 23rd goal of the season and eighth in his last six games as Real forward Cristiano Ronaldo again failed to score away from home.
Ronaldo's last goal away from the Bernabeu came at the end of November and the top scorer missed an early chance as he fired just wide of the far post.
Youssef El-Arabi's sixth league goal of the season drew him level with Enrique Porta as Granada's highest scorer in La Liga history
Granada had lost three of their last four league games and last season conceded 13 goals in two league defeats by Real.
But they carried a real threat all evening and after goalkeeper Andres Fernandez had superbly saved from Benzema, deservedly levelled through substitute El-Arabi with an hour gone.
The Morocco international ran onto a pass from former Blackburn forward Ruben Rochina to slot home with virtually his first touch to become the joint top scorer in Granada's La Liga history with 34 goals.
But ex-Tottenham midfielder Modric capped a superb display with his first league goal of the season to keep Real a point behind city rivals Atletico Madrid and four adrift of leaders Barca.
Elsewhere in La Liga, Sevilla held out with 10 men after having on-loan Tottenham defender Federico Fazio sent off to secure a 1-1 draw at top-six rivals Celta Vigo and extend their unbeaten run to 10 games.
Fazio received two bookings in the first 25 minutes of his first game since rejoining Seville, who went ahead through Daniel Carrico's 43rd-minute goal.
Claudio Beauvue levelled for Celta Vigo 19 minutes into the second half, and the two teams will meet again in the second leg of their Copa del Rey semi-final next Thursday evening with Sevilla leading 4-0 from the first leg.