AC Milan cut Juventus's lead at the top of Serie A to five points when they won 4-1 at Messina and Juve lost 1-0 at home to Sampdoria on Wednesday.
Juventus's second Serie A defeat of the season left them on 50 points from 22 matches with champions Milan on 45 from the same number of games played.
Inter Milan held on to third place with a 1-0 home win over bottom club Atalanta. Fourth-placed Udinese ended a run of three defeats with a comfortable 3-0 victory against Chievo Verona.
Juventus's smooth progress at the top faltered as Sampdoria midfielder Aimo Diana grabbed the only goal with the simplest of tap-ins after 33 minutes at the Delle Alpi stadium.
Juve found themselves battling against a well-organised Sampdoria side inspired by a superb individual performance from goalkeeper Francesco Antonioli.
The leaders almost grabbed an early advantage, when David Trezeguet narrowly failed to connect with a ball that rolled across the face of the visitors' goal.
Though second best in open play, Sampdoria took full advantage from a free kick when Aimo Diana was presented with a goal after Cristian Zenoni's header rebounded off the bar.
Juve piled on the pressure after the break but could not find a way past Antonioli, who tipped a Trezeguet shot round his post and then twice denied Zlatan Ibrahimovic from close range to preserve his side's lead.
The main beneficiaries of Juve's defeat were Milan, who put the disappointment of back-to-back defeats against Livorno and Bologna behind them with a 4-1 demolition of Messina.
The first 20 minutes were one-way traffic. A Kaka backheel freed Hernan Crespo to open the scoring after nine minutes and then Messina keeper Marco Storari pushed a Cafu cross into the path of striker Jon Dahl Tomasson, who stroked the ball home.
Riccardo Zampagna pulled one back for the hosts with an overhead kick on the half-hour but his failure to beat Milan keeper Dida from close range just before the interval cost Messina dear.
Milan grew in confidence as the second half progressed. Crespo combined again with Kaka to make it 3-1 just after the hour mark and midfielder Andrea Pirlo had a penalty saved by Storari, though by then the visitors had the game under control.
Tomasson completed the rout in stoppage time, when he ran onto Clarence Seedorf's pass, turned his marker and slipped the ball into the net.
At the San Siro stadium, Inter striker Obafemi Martins again proved Atalanta's undoing.
The 20-year-old Nigerian international, who last week scored the winner in a 1-0 Italian Cup victory over Atalanta, struck in the 33rd minute, swerving round defender Giampaolo Bellini to angle a shot past goalkeeper Alex Calderoni.
Fourth-placed Udinese are a point behind Inter on 37 points after ending a run of three straight defeats with a comfortable 3-0 home win over Chievo Verona.
It was a less happy night for the Rome-based clubs, with Lazio's match against lowly Brescia finishing goalless.
AS Roma's charge for a Champions League place stumbled as a late goal by Lecce's Mirko Vucinic cancelled out an earlier own goal by defender Guillermo Giacomazzi in a 1-1 draw.