Serie A leaders Juventus were beaten 2-1 at home by 10-man Sampdoria and two other title contenders also lost on 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 their first home defeat of the season.
AC Milan were the only big team to win, but they also struggled before beating Siena 2-0 with two second-half goals.
Juventus still lead with 44 points. Lazio, who beat Cagliari 2-1 Saturday, are next with 39 points, followed by Inter and Fiorentina with 35 each.
Milan are seventh with 30 points.
Juventus went all of last season unbeaten but have 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.
Saturday 5 January
Catania 0-0 Torino
Lazio 2-1 Cagliari
Sunday 6 January
AC Milan 2-1 Siena
Chievo 1-0 Atalanta
Fiorentina 0-2 Pescara
Genoa 2-0 Bologna
Juventus 1-2 Sampdoria
Parma 2-1 Palermo
Udinese 3-0 Inter Milan
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.
Juve had a chance to equalise but forward Mirko Vucinic's shot in the 73rd hit the crossbar and then bounced down just in front of the goal.
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-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 November 3, while Udinese have 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 goal scoring 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.
Meanwhile 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 walk off 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.