Inter Milan's Serie A title hopes suffered a setback as they conceded a stoppage-time equaliser and were held 1-1 at home by relegation-threatened Carpi and leaders Napoli swept to a 4-2 win at Sampdoria.
Napoli stayed two points ahead of Juventus who beat AS Roma 1-0 with a superbly-taken Paulo Dybala goal to clock up their 11th successive league win and almost certainly end their opponents' title hopes.
Rodrigo Palacio gave Inter a first-half lead but Kevin Lasagna stunned the San Siro after the lowly visitors had been reduced to 10 men to leave Inter coach Roberto Mancini fuming.
Inter, who have taken one point from their last three home games, claimed a scarcely-deserved lead when Palacio turned in Ivan Perisic's deflected shot just before halftime.
In a dramatic finale, Lorenzo Pasciuti was sent off, Carpi goalkeeper Vid Belec denied Palacio and Felipe Melo before Lasagna broke clear of the Inter defence and drove his shot past Samir Handanovic.
Mancini publicly lambasted his forwards.
"We have a problem which is that we never manage to score more than one goal in a game," he said. "It's just no good waiting for the ball to come to you."
Napoli had no such trouble after Sampdoria midfielder Edgar Barreto unwittingly helped them to an early two-goal lead.
The visitors went ahead when Gonzalo Higuain intercepted Barreto's wayward back pass to score his 21st league goal of the season.
Lorenzo Insigne added the second from a penalty after Barreto had fouled Raul Albiol in the area.
Joaquin Correa swept home Carlos Carbonero's pass to pull one back for Samp on the stroke of halftime but their hopes of a fightback ended when Mattia Cassan was given a second yellow card for hacking down Insigne in the 59th minute.
Hamsik immediately added the third when he wriggled between two defenders and poked the ball past Emiliano Viviano.
Eder headed one back, only for Dries Mertens to race past two defenders and fire the fourth for Napoli.
Napoli have 47 points from 21 games, two ahead of Juventus who are bidding for a fifth successive title. Inter and Fiorentina are level in third on 41.
Dybala broke Roma's resistance in the 77th minute when he collected Paul Pogba's pass and struck a shot wide of goalkeeper Wojciech Szczesny.
Roma, who have taken one point in two games under new coach Luciano Spalletti, were left in fifth place with 35 points.
A majestic Josip Ilicic set Fiorentina on the way to a 2-0 win over Torino as they bounced back after losing their last two games.
Lazio scored four times in the final half hour as they came from behind to beat Chievo 4-1.
Palermo hammered Udinese 4-1 in a meeting of two teams just above the drop zone and second-half goals by Emanuele Giaccherini and Sergio Floccari gave Roberto Donadoni's Bologna a 2-0 win at Sassuolo.
Bottom club Verona remained win less after drawing 1-1 at home to Genoa.