AC Milan needed a late Andre Silva goal to snatch a 3-2 win at home to lowly Chievo.
Hakan Calhanoglu fired the hosts into the lead after 10 minutes but Milan, dumped out of the Europa League by Arsenal in midweek, were stunned by two goals in the space of a minute before half-time.
Mariusz Stepinski stabbed Chievo level following a corner and moments later Roberto Inglese put them ahead with a powerful drive from the edge of the area.
Patrick Cutrone equalised seven minutes into the second half when he followed up after Stefano Sorrentino could only parry a low shot from Lucas Biglia.
And Silva struck from a half-cleared corner eight minutes from time for his second winner in a week following his last-minute strike at Genoa seven days earlier.
Mauro Icardi hit four goals against his former club Sampdoria as Inter Milan claimed a comfortable 5-0 victory at Stadio Luigi Ferraris.
Croatia international Ivan Perisic put the visitors in front after 26 minutes as he got his head onto Joao Cancelo’s cross for his ninth goal this term.
Inter captain Icardi slotted home a penalty after half an hour and then raced to a quickfire first-half hat-trick.
The Argentina forward continued his golden streak as he picked out the bottom corner for his side’s fifth six minutes after the break for his 22nd goal of the season.
Roma cemented their place in third spot as goals in each half from Stephan El Shaarawy and Radja Nainggolan secured a 2-0 victory at Crotone.
Josip Ilicic grabbed a hat-trick while Bryan Cristante and Alejandro Gomez were also on target as Atalanta thumped Verona 5-0.
A stoppage-time penalty from Cyril Thereau earned a 2-1 win for Fiorentina at Torino, who thought they had snatched a point after Andrea Belotti cancelled out Jordan Veretout’s opener.
And two goals in stoppage time from Leonardo Pavoletti and Nicolo Barella gave Cagliari a 2-1 win at Benevento.