Real Madrid reeled off their sixth straight La Liga victory to remain in control at the top of the table, but were made to sweat by Sporting Gijon as they clung on to win 2-1.
A brace for Cristiano Ronaldo made it 10 goals in as many league matches this season, but while it was a return to normal service for him it was far from plain sailing for his team as they had to battle past their dogged opponents in atrocious conditions at the Bernabeu.
Carlos Carmona pulled a goal back for Sporting in the 35th minute and they had a golden chance to level it late on, but Duje Cop missed a penalty with 12 minutes to go as Real held on.
The win means they now head into El Clasico next weekend with at least a four-point cushion on Barcelona.
Real could not have wished for a better start as Ronaldo's fifth-minute penalty, following a foul on Lucas Vazquez, put them in early command.
Then in the 18th minute, some intricate one-touch passing ended with the ball being fed out to Nacho on the left. His bending cross was angled perfectly for the run of Ronaldo, who leapt through the air to head it past Diego Marino in the Sporting goal.
Zinedine Zidane and his team also moved on to 31 games unbeaten -- equalling a club record set by his former mentor Carlo Ancelotti.
Sevilla moved up to second place with a 2-1 win over Valencia at the Estadio Ramon Sanchez Pizjuan.
A sterile first half gave way to a much more open second as an Ezequiel Garay own goal put Sevilla ahead in the 53rd minute, but Valencia substitute Munir El Haddadi drew the visitors level 12 minutes later.
Sevilla, who lacked their usual fluency without the playmaking talents of Samir Nasri, had enough about them to grab a winner when Nico Pareja restored their lead in the 75th minute and Jorge Sampaoli's men just about hung on to move six points behind league leaders Real Madrid.
Deportivo La Coruna suffered injury-time heartbreak for the second successive week as Javi Ontiveros settled a pulsating game with a long-range strike to snatch a 4-3 win for Malaga at La Rosaleda.
The Galicians conceded a goal two minutes into stoppage time to sink to a 3-2 defeat to Sevilla last Saturday and Ontiveros' moment of inspiration came at exactly the same time.
For Malaga, it was an excellent if not entirely deserved result after their backs-to-the-wall point at Barcelona last weekend. The home side fell behind when Celso Borges tucked in a fourth-minute penalty after Federico Ricca hauled down Bruno Gama in the box. Juande Ramos' side levelled with a spot kick of their own after 20 minutes as Borges manhandled Michael Santos, who got up to convert it himself.
Sandro Ramirez's brilliant free kick, which crashed in off the angle of post and crossbar, put Malaga in front five minutes before half-time and Santos added a third when he applied the finish to Pablo Fornals' cutback from the right. Florin Andone pulled one back for Depor in the 72nd minute as his bullet header from Carles Gil's inswinging cross beat Carlos Kameni.
But Ontiveros had the final say.
Espanyol secured their first home win of the season at the seventh attempt as two goals early in the second half set them up for a 3-0 victory at home to Leganes.
Quickfire goals from Gerard Moreno and Pablo Piatti did the damage as Leganes failed to build on their win over Osasuna, with the defeat their fifth in six matches. Piatti added his second late on to put extra gloss on the result for the hosts, who are now unbeaten in seven league games.