Serie A leader Juventus was beaten 2-1 at home by 10-man Sampdoria and two other title contenders also lost Sunday, as the big Italian clubs struggled to get back into full gear after the holiday break.
Italy forward Antonio Di Natale scored twice to help Udinese beat 10-man Inter Milan 3-0, and Fiorentina lost 2-0 to Pescara for its first home defeat of the season.
Meanwhile, Edinson Cavani was on form and scored a hat trick as third-place Napoli beat Roma 4-1 in the late match. With 16 goals this season, the Uruguay forward moved two past Stephen El Shaarawy of AC Milan to top the league scoring chart.
AC Milan also struggled before beating Siena 2-0 with two second-half goals.
Juventus still leads with 44 points. Lazio, which beat Cagliari 2-1 Saturday, is next with 39 points, followed by Napoli — which was penalized two points for match-fixing — with 37 and Inter and Fiorentina with 35 each.
Milan is seventh with 30 points.
In other matches, it was: Parma 2, Palermo 1; Chievo Verona 1, Atalanta 0; and Genoa 2, Bologna 0.
Juventus went all of last season unbeaten but has now lost four times this campaign — and twice at home.
Sebastian Giovinco gave Juventus the lead with a penalty in the 24th and it looked like it would be easy for the Turin power after Sampdoria defender Gaetano Berardi picked up his second yellow card in the 31st.
But Mauro Icardi then scored twice for the visitors.
'We're not martians'
In the 53rd, Icardi finished off a counterattack with a long, angled shot that goalkeeper Gianluigi Buffon should have done a better job at stopping.
In the 69th, Icardi scored again from a similar position, this time using a powerful rising shot that skimmed over Buffon's outstretched hands.
"I'm upset because my mistake cost us three points," Buffon said.
Juventus midfielder Claudio Marchisio bruised his right knee and could be out two to three weeks.
"It wasn't a performance we'll want to remember," Juventus coach Antonio Conte said. "We're not Martians, and considering injuries and players not in great condition we're going to have to grit our teeth some more."
Juve had a chance to equalize but forward Mirko Vucinic's shot in the 73rd hit the crossbar and then bounced down just in front of the goal.
"Maybe Juve didn't have its best day," Genoa coach Delio Rossi acknowledged. "They didn't have their usual will to win."
Rossi, who recently replaced Ciro Ferrara as Sampdoria's coach, noted he was glad he didn't let Icardi go home to Argentina to play with his national under-20 squad.
Icardi also scored a key goal against Genoa in a derby earlier this season.
"Icardi is a kid with a lot of talent. I would have been stupid to send him to the South American tournament," Rossi said. "I think playing here is better exposure."
In Udine, Di Natale put the hosts ahead in the 63rd by finishing off a swift counterattack as Inter's defence struggled to keep up.
Two minutes later, Inter defender Juan picked up his second yellow card, and Colombia forward Luis Muriel doubled the lead in the 75th with a similar score.
Di Natale added another in the 79th from the centre of the area — his 12th of the season — as defenders Walter Samuel and Esteban Cambiasso again couldn't intervene.
The referee made a key decision in the 25th by showing Inter striker Rodrigo Palacio a yellow card for diving inside the area, while Inter argued for a penalty and a last-man foul on defender Maurizio Domizzi, which would have left Udinese with 10 men.
"To me it was a penalty," Inter manager Andrea Stramaccioni said. "There was contact."
Di Natale hit the crossbar with a blistering 40-meter (yard) free kick in the 27th, and Inter defender Jonathan wasted a great chance created by Antonio Cassano when he hit the post in the 50th.
Palacio also had a couple chances before Di Natale's opening goal.
Inter remained winless on the road since beating Juventus on Nov. 3, while Udinese has lost only once at home this season.
In Florence, Fiorentina introduced newly signed forward Giuseppe Rossi to the crowd before the match. However, Rossi won't be able to play until February or March as he returns from multiple knee injuries, and it was evident that Fiorentina needs his goalscoring ability.
Fiorentina dominated the first half but could not find the target through Luca Toni, Alberto Aquilani or Stevan Jovetic.
Brazilian forward Jonathas scored with a header for Pescara in the 57th and Swedish forward Mervan Celik doubled the visitors' lead in added time.
In Naples, Cavani put the hosts ahead four minutes in after taking a through ball from Goran Pandev and shooting in off the arm of Roma goalkeeper Mauro Goicoechea. It was a similar start to the second half, with Cavani again hitting the target in the 48th from the centre of the area.
Cavani struck again with a header following a corner in the 70th, Pablo Osvaldo pulled one back for Roma two minutes later, and Christian Maggio restored Napoli's three-goal lead in the 90th.
Roma ended with 10 men after Miralem Pjanic picked up his second yellow in the 74th.
Earlier at the San Siro, Milan took the lead with a header from Bojan Krkic in the 67th following a cross from Kevin-Prince Boateng, who sparked Milan's walkoff in the face of racist chants during a midweek friendly.
Giampaolo Pazzini added a penalty for Milan in the 85th.
Before kickoff, Milan wore anti-racism shirts.
In Parma, Amauri scored the winner in the third minute of added time.
Also, Adrian Stoian scored in the 37th for Chievo; and Marco Borriello scored both of Genoa's goals.