Inter Milan return to top after Fiorentina and Juventus win

Inter Milan held onto top spot in Serie A as Mauro Icardi's goal earned a slender 1-0 victory at Empoli.

The league leaders at Christmas were briefly deposed by Fiorentina, but Inter -- far from convincing against a plucky Empoli side -- are again one point clear of La Viola following Icardi's first-half stoppage-time strike at the Stadio Carlo Castellani.

Two goals from Josip Ilicic had helped Fiorentina briefly top with a 3-1 win over Palermo.

Paulo Sousa's Tuscans were largely grateful to Ilicic, who returned to the Stadio Renzo Barbera to smash a brace past his previous employers.

Alberto Gilardino also scored against his former paymasters to set up a nervy finish but Jakub Blaszczykowski made sure of the win with a third goal for Fiorentina in stoppage time.

Juventus stormed back into the title race by beating hapless Hellas Verona 3-0 to register an eighth straight win.

Massimiliano Allegri's men -- the reigning champions -- made a poor start to the season, spending most of the autumn in mid-table after kicking off their latest title defence with back-to-back defeats.

But they are now well and truly in the fight for the Scudetto with the likes of Inter Milan and Napoli, thanks to goals from Paulo Dybala, Leonardo Bonucci and substitute Simone Zaza at the Juventus Stadium.

Winless Hellas, meanwhile, remain rooted to the bottom of the table after losing for the 10th time.

Marek Hamsik hit the winning goal as Napoli moved into third place with a 2-1 home victory over Torino.

Lorenzo Insigne's stellar goal set the tone for a one-sided match at the Stadio San Paolo, but Torino levelled with a Fabio Quagliarella penalty, meaning Hamsik had to force the issue before half-time.

Napoli were rampant from the off and Jose Callejon could have scored twice before Insigne grabbed a stunning opener.

A fantastic team move saw Gonzalo Higuain spin the ball out wide to Callejon, who touched it back inside for Insigne to loop home with his laces in the 16th minute.

Emanuele Giaccherini's late goal stunned AC Milan as Bologna snatched a 1-0 victory at San Siro.

The on-loan Sunderland winger has struggled with injuries this season but managed to make a huge impact for resurgent Bologna at just the right time.

Giaccherini's 82nd-minute strike will also send a shockwave through the Milan camp, with a new-year push for the Champions League places already looking unrealistic for a club now fallen to seventh place.

Substitute Simone Pepe had the last laugh in a six-goal thriller that saw Chievo hold Roma to a 3-3 draw.

Champions League-chasing Roma were two goals up at the Stadio Marc'Antonio Bentegodi thanks to Umar Sadiq and Alessandro Florenzi, but Chievo hit back through Alberto Paloschi and Dario Dainelli.

Iago Falque then thought he had grabbed a late winner for Roma, only for Pepe to climb off the bench to score.

Ten-man Sassuolo shared the points with Frosinone after a 2-2 draw at the Mapei Stadium.

Frosinone's Federico Dionisi opened the scoring with a cross-shot in the 16th minute, but Sassuolo were soon level, Gregoire Defrel's finish taking a deflection off Arlind Ajeti on its way in.

Frosinone took the lead before the break as Ajeti headed Daniel Pavlovic's corner into the net. In the 75th minute Sassuolo equalised once more as substitute Diego Falcinelli grabbed his first Serie A goal when converting Alfred Duncan's lay-off.

Sassuolo's Lorenzo Pellegrini was dismissed in stoppage time after picking up a second yellow card.

Lazio's inconsistent form carried into the new year as relegation-threatened Carpi ground out a 0-0 draw at the Stadio Olimpico.

The Biancocelesti are a disappointing 10th in Serie A and do not look like making progress any time soon, with a toothless first-half performance summing up their approach to the season so far.

Earlier, Udinese held off Atalanta for a 2-1 victory at Stadio Friuli.

Udinese took the lead in the 23rd minute when Brazilian defender Felipe saw his back-post header saved and Cyril Thereau was alert to lash in the rebound for his seventh goal of the season.

The lead was doubled in first-half stoppage time when Fernandes clipped over a cross from the left which curled through the Atalanta penalty area to Perica who headed home powerfully. Atalanta pulled a goal back with 16 minutes left when Marco D'Alessandro scored from close range following a deflected left-wing cross but were unable to force an equaliser.