Match ends, Juventus 2, Empoli 0.
Juventus went 10 points clear at the top of Serie A with a 30th consecutive home win as stubborn 17th-placed Empoli were eventually brushed aside.
Massimiliano Allegri's side, going for a sixth consecutive title, went ahead when Lukasz Skorupski bundled into his own net after Mario Mandzukic's header struck the bar shortly after half-time.
Juve had spurned several first-half chances, but Alex Sandro's tight finish into the corner settled the points.
Roma can narrow Juve's lead on Sunday.
Second-placed Roma play at fifth-placed Inter Milan in a 19:45 GMT kick-off.
Leonardo Bonucci was restored to the Juve line-up after being left out of Wednesday's Champions League victory at Porto because of a touchline spat with Allegri in the previous Friday's league game.
Bonucci watched the last-16 first leg in Portugal from an executive box, but the Italy centre-back started in Turin in one of six changes, perhaps made with Tuesday's Coppa Italia semi-final first leg with Napoli in mind.
Juve, who are on track to win a third consecutive league and cup double, last dropped points at home in the league in a 1-1 draw with Frosinone in September 2015.
They were last beaten at home in the league on the opening day of the 2015-16 season, by Udinese, and this 30th straight home win adds to the Serie A record they already hold.
Earlier on Saturday, Atalanta beat Napoli 2-0 to move up to fourth, despite having midfielder Frank Kessie sent off for picking up two yellow cards in three minutes with over half an hour still to play.
Atalanta's Bergamo-born 22-year-old defender Mattia Caldara scored both goals, the first bundled in at the far post from a corner, the second on the counter attack after Kessie's red card.
The defeat leaves Napoli in third, 12 points behind Juve, and now three points above Atalanta, who finished 13th last season.
- 25Murara Neto
- 23Alves da Silva
- 12Lobo Silva
- 7Ju CuadradoSubstituted forPjacaat 85'minutes
- 8MarchisioSubstituted forRincónat 79'minutes
- 27SturaroSubstituted forDybalaat 74'minutes
- 2LauriniSubstituted forVeseliat 70'minutes
- 6BellusciBooked at 82mins
- 10El Kaddouri
- 5MauriSubstituted forBüchelat 77'minutes
- 89MarilungoSubstituted forThiamat 70'minutes
- Maurizio Mariani
- Shots on Target
Second Half ends, Juventus 2, Empoli 0.
Gonzalo Higuaín (Juventus) wins a free kick in the defensive half.
Foul by Frederic Veseli (Empoli).
Attempt saved. Dani Alves (Juventus) right footed shot from outside the box is saved in the centre of the goal. Assisted by Paulo Dybala.
Delay over. They are ready to continue.
Delay in match Omar El Kaddouri (Empoli) because of an injury.
Attempt missed. Paulo Dybala (Juventus) left footed shot from outside the box is close, but misses to the left. Assisted by Dani Alves.
Attempt missed. Marcel Büchel (Empoli) left footed shot from outside the box is high and wide to the left. Assisted by Rade Krunic.
Foul by Tomás Rincón (Juventus).
Rade Krunic (Empoli) wins a free kick on the right wing.
Substitution, Juventus. Marko Pjaca replaces Juan Cuadrado.
Foul by Paulo Dybala (Juventus).
Assane Diousse (Empoli) wins a free kick in the defensive half.
Attempt missed. Mario Mandzukic (Juventus) header from the centre of the box misses to the right. Assisted by Alex Sandro with a cross.
Giuseppe Bellusci (Empoli) is shown the yellow card for a bad foul.
Mario Mandzukic (Juventus) wins a free kick in the attacking half.
Foul by Giuseppe Bellusci (Empoli).
Attempt missed. Dani Alves (Juventus) right footed shot from outside the box is too high. Assisted by Paulo Dybala with a cross following a corner.
Corner, Juventus. Conceded by Andrea Costa.