Juventus and Udinese both dropped points to hand AC Milan the impetus in the Serie A title race on Sunday ahead of the evening's Milan derby.
If Milan beat bitter rivals Inter at the San Siro, they will go two points clear at the top of the table.
Juve are top by a point ahead of that match, although they were held to a 1-1 draw at home to Cagliari.
And Udinese are three points behind them in third after they fell to a 3-2 defeat at Genoa.
In Turin, Juve opened the scoring on seven minutes with a stunning team goal that involved a mesmerising exchange of passes.
Stephan Lichtsteiner burst forward from right-back and played the ball to Simone Pepe, whose back-heel found Claudio Marchisio.
The Italian midfielder helped the ball on to the rampaging Lichtsteiner, who continued his charge forwards and teed up Mirko Vucinic for a simple tap-in.
But Cagliari drew level two minutes after the break through Andrea Cossu's sumptuous hit from outside the box following Leonardo Bonucci's weak clearance.
Reported Manchester United target Milos Krasic should have stolen the win for Juve in injury time but was guilty of a shocking miss.
Genoa dominated from the off against Udinese and Alberto Gilardino should have done better when put clean through but he slipped and then from the ground could not beat Samir Handanovic.
The Slovenia goalkeeper had to be at his athletic best to beat out a curling effort from Alexander Merkel.
Udinese took the lead on 14 minutes when Damiano Ferronetti headed home Pablo Armero's corner.
The game was turned on its head within 60 seconds at the start of the second half.
Handanovic spilled Bosko Jankovic's free-kick and Andreas Granqvist was quickest to the rebound to prod home.
Moments later Jankovic met Kevin Constant's left-wing cross with a drilled volley that gave Handanovic no chance.
Genoa extended their lead as Rodrigo Palacio finished crisply after a mistake by Joel Elkstrand.
But 15-minutes from time, the hosts' captain Marco Rossi was dismissed for bringing down his Udinese counterpart Antonio Di Natale in the box.
Television replays suggested Rossi played the ball, although it was difficult to see, and Di Natale swept home the spot-kick.
Earlier in the day, Lazio laboured to a 2-0 win over Atalanta at Rome's Stadio Olimpico to breathe new life into their faltering scudetto hopes, leaving them five points off Juve.
Lazio scored with just about the only chance of note in the first period.
Stefan Radu ran into the box and cut inside Andrea Masiello, who left his leg out, and the Romanian full-back needed no second invitation to fall over it.
Brazilian Hernanes sent goalkeeper Andrea Consigli the wrong way from the spot.
The second period was equally sedate until Lazio captain Tommaso Rocchi fell as he went around Stefano Lucchini.
Television replays suggested there had been no contact whatsoever but the referee still brandished a second yellow card to the Atalanta defender and the visitors were consigned to playing the remaining 35 minutes at a numerical disadvantage.
Miroslav Klose sealed Atalanta's fate in injury time with a precise finish after a clever drag-back on the edge of the box.
Romania forward Adrian Mutu surpassed 100 goals in Serie A as he scored a brace in Cesena's 3-1 win over Novara.
Cesena are now three points from safety, with Novara three further back.
On Saturday, the match between Catania and Roma was abandoned due to heavy rain after 65 minutes with the score level at 1-1.
The big game of the weekend comes on Sunday night when leaders and champions Milan host bitter rivals Inter in the derby.