A Robinho penalty in the 31st minute decided the game in the Rossoneri's favour as Juve were beaten for only the second time this season.
Earlier, Torino and Fiorentina shared four goals in an entertaining 2-2 draw at the Stadio Olimpico.
Alessio Cerci put the home side in front in the 40th minute and Gonzalo Rodriguez responded from the penalty spot in the 74th minute.
Valter Birsa's first goal for Torino restored their lead two minutes later, but Mounir El Hamdaoui struck five minutes from time to snatch a point for the Viola.
Goals were in somewhat shorter supply elsewhere, with just three in the remaining four games.
Andrea Poli's goal sealed a 1-0 win that both moved Sampdoria further clear of the relegation zone and condemned Bologna to a seventh defeat in eight away games.
Poli netted two thirds of the way through the contest as Bologna paid dearly for an early red card to defender Archimede Morleo, who was dismissed just five minutes into the game for a professional foul on Mauro Icardi.
There was also a red card in the game between Atalanta and Genoa, but the Rossoblu held on for a 1-0 away win courtesy of Andrea Bertolacci's goal that ended a run of six straight Serie A defeats.
Emiliano Moretti was sent off late on after being shown a second yellow card for an elbow on Maxi Moralez, but the visitors held on to climb out of the bottom three.
Chievo's Mamadou Samassa was also sent off at the death as his side drew 0-0 at home to Siena, a point for the visitors meaning Pescara dropped to the bottom of the table on goal difference after losing 1-0 at home to Roma.
New manager Cristiano Bergodi got a sense of the task he faces at Pescara after Mattia Perin's fifth-minute goal proved enough for all three points.