Real Madrid were held to a shock goalless draw by struggling Cadiz.

Carlo Ancelotti's side dropped their first points since October after Sunday's stalemate at the Bernabeu.

They extended their lead at the top of La Liga to six points but second-placed Sevilla now have a game in hand.

Second-bottom Cadiz grabbed a valuable point in their fight against the drop.

Third-placed Real Betis slipped to a 3-2 defeat at Athletic Bilbao thanks to Oscar De Marcos' late winner.

Inaki Williams opened the scoring after just two minutes before Juanmi quickly levelled. Nabil Fekir put Betis ahead only for Williams to make it 2-2 and De Marcos' goal snatched the points in the 89th minute.

Getafe breathed life into their survival chances after Dario Poveda's stoppage-time winner against Osasuna.

They climbed out of the relegation zone thanks to Poveda's late header in the 1-0 win which lifted them above the bottom three on goal difference.

Grenada beat Mallorca 4-1 to move closer to their visitors in mid-table. Jorge Molina's hat-trick and Antonio Puertas' goal eased them to victory.

Napoli celebrate their win at the San Siro

In Italy, AC Milan missed the chance to close the gap to Inter Milan at the top of Serie A after losing 1-0 to Napoli.

The visitors leapfrogged Milan into second with both teams four points behind Inter thanks to Elif Elmas' winner in the San Siro. The hosts had a stoppage-time leveller from Franck Kessie ruled out for offside.

Fiorentina came from 2-0 down to draw 2-2 with Sassuolo and move sixth.

Dusan Vlahovic and Lucas Torreira rescued a point after Gianluca Scamacca and Davide Frattesi put the visitors in control. Cristiano Biraghi was sent off for Fiorentina but they held on.

Sampdoria drew 1-1 with Venezia after Thomas Henry's late leveller cancelled out Manolo Gabbiadini's first-minute strike.

Torino beat Verona 1-0 thanks to Tommaso Pobega's goal after Verona had Giangiacomo Magnani dismissed.

Spezia drew 1-1 with Empoli to earn a point in their battle against the drop but extended their winless run to eight and sit three points above the drop zone.

In Germany, Bayer Leverkusen lost 2-1 at Freiburg as the hosts moved above them into third in the Bundesliga, 14 points behind leaders Bayern Munich.

Vincenzo Grifo's panenka penalty gave Freiburg the lead before Charles Aranguiz levelled ahead of the break but Kevin Schade struck in the second half. Elsewhere, Koln beat Stuttgart 1-0.