Isco scored a last-minute winner as a weakened Real Madrid came from behind twice to beat Sporting Gijon and remain in control of the La Liga title race.
Real – who play Bayern Munich on Tuesday – rested Cristiano Ronaldo, Gareth Bale and Karim Benzema.
Duje Cop gave Sporting the lead from Mikel Vesga’s flicked ball over the top but Isco levelled after good footwork.
Vesga then scored a looping header before Alvaro Morata levelled with his head and Isco got the 20-yard winner.
Real Madrid are now six points above Barcelona, having played the same number of games. Barca host Real Sociedad later on Saturday (19:45 BST), with their next La Liga match against Madrid in El Clasico next Sunday.
Zinedine Zidane’s side have now won 10 points this season from losing positions in the league, more than any other team.
Real’s stars should be fresh for Tuesday’s Champions League quarter-final second leg match against Bayern at the Bernabeu.
Zidane made nine changes from the side that won the first leg 2-1, with keeper Keylor Navas, Ronaldo, Benzema and Bale – who is an injury doubt – not even named on the bench for the Sporting game.
And Isco – who has made only one Champions League start all season – may have played himself into contention with an excellent game.
His opener came after beating several defenders and his 90th-minute winner came from outside the box after he was picked out by substitute Marcelo.
Sporting remain five points adrift of safety.