Serie A leaders AC Milan consolidated their position at the top of the table with a 1-0 win over Empoli at San Siro.

Pierre Kalulu struck on 19 minutes after Olivier Giroud's free-kick had hit the wall, clipping his shot back into the far bottom corner from 20 yards.

The Rossoneri are five points clear of Inter, although having now played two games more.

Alvaro Morata scored twice as Juventus won 3-1 at Sampdoria to move within two points of the Nerazzurri.

An own goal from Maya Yoshida gave Juve the lead, with Morata adding another from the spot on the half-hour.

Sampdoria saw a penalty from Antonio Candreva saved by Wojciech Szczesny before substitute Abdelhamid Sabiri pulled a goal back through a deflected free-kick with six minutes left, but Morata settled matters late on when he nodded in at the back post.

Spezia secured a much-needed 2-0 win over relegation rivals Cagliari, with second-half goals from Martin Erlic and Rey Manaj.

Bottom club Salernitana fought back to draw 2-2 against 10-man Sassuolo with a late goal from Milan Djuric.

Gianluca Scamacca’s header and Hamed Junior Traore’s curling effort had cancelled out Federico Bonazzoli’s close-range early opener from the hosts as Sassuolo led at the break.

Giacomo Raspadori, though, was sent off for a second caution on the hour and Djuric nodded in with nine minutes left to level things up.

In Spain, Villarreal kept themselves in the hunt for European qualification with a 1-0 win over Celta Vigo in their LaLiga clash at El Madrigal.

Dani Parejo struck a scrappy goal just after the hour which proved enough to leave the Yellow Submarine in sixth, now three points behind fourth-placed Barcelona.

An early goal from veteran midfielder Fidel gave Elche a 1-0 win at strugglers Granada.

Substitute Dani Gomez grabbed a late equaliser to earn bottom club Levante a 1-1 draw at home to Espanyol after Javi Puado’s opener, while it finished goalless between Getafe and Valencia.

In Germany, Bundesliga leaders Bayern Munich missed the chance to extend their advantage at the top of table after being held to a 1-1 draw at Champions League hopefuls Hoffenheim.

Christoph Baumgartner fired the hosts into a 32nd-minute lead, with Robert Lewandowski heading a equaliser just before half-time.

The Poland frontman saw another goal chalked off for offside soon after the restart and Serge Gnabry struck the woodwork as Bayern could not craft a winner. They sit 10 points clear of Borussia Dortmund, who now hold two games in hand.

Freiburg are fourth after defender Nico Schlotterbeck struck a brilliant late winner to beat Wolfsburg 3-2.

Vicenzo Grifo’s first-half double put the hosts in control, before Max Kruse started the fightback and Maximilian Arnold levelled things up with just six minutes to go – only for Schlotterbeck to swerve the ball in from the edge of the box.

At the other end of the table, a 90th-minute strike from Sasa Kalajdzic snatched a 1-1 draw for strugglers Stuttgart at Union Berlin, while Borussia Monchengladbach beat Hertha Berlin 2-0.

Nice, chasing Champions League qualification, survived the first-half dismissal of captain Dante to battle to a goalless draw at Montpellier.

The Brazilian was sent off for pulling back Elye Wahi in the penalty area, but Teji Savanier’s attempted Panenka spot-kick was easily saved.

Saturday’s late Ligue 1 match saw Troyes put some daylight between themselves and the relegation places with a 1-0 home win over European hopefuls Nantes. Canadian forward Ike Ugbo broke the deadlock shortly before half-time.