Romelu Lukaku scored a first-half brace as Inter Milan returned to winning ways to keep the pressure on Serie A leaders Juventus with a narrow 4-3 win at struggling Sassuolo.
Argentina international Lautaro Martinez also celebrated a double for the visitors as he opened the scoring early on before Domenico Berardi equalised.
Former Manchester United striker Lukaku picked out the bottom corner seven minutes before the break and completed his brace with a penalty on the stroke of half-time to extend Inter's lead.
Martinez made it 4-1 with 20 minutes left, converting a spot-kick of his own awarded after Filip Djuricic brought down Nicolo Barella in the box.
The lowly hosts fought back with a goal apiece from Djuricic and Jeremie Boga but Inter held on for victory to sit one point behind Juve.
Radja Nainggolan and Paolo Farago were on target as Cagliari extended their unbeaten run to six matches with a 2-0 success against lowly SPAL to move up to fifth.
Ten-man Roma dropped two points away at bottom side Sampdoria as they played out a goalless draw with Justin Kluivert sent off for his second yellow card four minutes from time.
The result ended the hosts' run of three straight defeats but was marred by racism towards Samp's former Leeds midfielder Ronaldo Vieira at Luigi Ferraris.
Roma later issued an apology for the chanting from away fans and said they would punish those responsible.
A statement on their Twitter feed read: "AS Roma would like to apologise to Ronaldo Vieira for the racist boos he was subjected to.
"Roma does not tolerate racism of any kind and the club will support the authorities in identifying and subsequently banning any individuals found guilty of racially abusing the midfielder."
Udinese claimed a narrow 1-0 home win over mid-table rivals Torino thanks to Stefano Okaka's header just before the break.
Andreas Cornelius netted a hat-trick as Parma moved up to eighth after easing past second-bottom Genoa 5-1 at Ennio Tardini.
Juraj Kucka opened the scoring for the hosts, while Cornelius headed home to double the score before adding a second before the break and completing his treble five minutes after the restart.
Andrea Pinamonti replied for Genoa but Dejan Kulusevski put the game beyond doubt with 11 minutes remaining.
In the late game, Marco Calderoni scored a superb late equaliser as Lecce twice struck back to earn a point from a 2-2 draw away to AC Milan.
Efforts from Hakan Calhanoglu and Krzysztof Piatek sandwiched Khouma Babacar's second-half leveller as Stefano Pioli looked to have earned victory in his first match as AC Milan boss before Calderoni netted in stoppage time.