Substitute Paulo Dybala fired a second-half winner as Juventus returned to the top of Serie A after a 1-0 home win against AC Milan.

Juve were knocked off their perch by Inter Milan on Saturday after they fought back to beat Verona 2-1, but Dybala's solitary strike in a hard-fought victory was enough to lift them back to the summit.

The Argentina international had replaced Cristiano Ronaldo in the 56th minute and he drilled home the decider 13 minutes from time after a slick Juve move on the edge of the Milan box

Maurizio Sarri's side extended their unbeaten start to the season to 16 matches in all competitions, while Milan have lost six of their last nine league games.

The game's first chance, brilliantly carved out by Ronaldo, fell to Gonzalo Higuain, but Milan goalkeeper Gianluigi Donnarumma kept out the latter's shot from a tight angle with his legs.

Krzysztof Piatek headed wide for Milan soon after and Juve goalkeeper Wojciech Szczesny produced a fine save to keep out Lucas Paqueta's header from Andrea Conti's corner.

Juve winger Federico Bernardeschi then fired just wide from outside the box and after Ronaldo fired straight at Donnarumma, Szczesny ensured a see-saw first half ended goalless by keeping out Piatek's goalbound shot at full stretch.

Blaise Matuidi's long-range effort was narrowly wide early in the second period and Higuain was off target with an angled shot after being set up by Ronaldo's replacement Dybala as Juve chased the breakthrough.

But Milan still carried a threat and Piatek tested Szczesny at the other end after combining with Paqueta in the area.

Both goalkeepers excelled with the game evenly poised. Donnarumma kept Milan on level terms when saving Dybala's shot in the bottom corner and Szczesny kept out Hakan Calhanoglu's free-kick.

But Donnarumma was beaten with 13 minutes remaining. Higuain's deft pass in the area unlocked Milan's defence and Dybala's neat footwork enabled him to fire home into the bottom corner.

Milan's response was swift as Calhanoglu's goalbound effort was saved by Szczesny two minutes later and the Turkey winger was denied again by the Juve keeper in the 84th minute when he lashed in a shot from the edge of the area.

The visitors poured forward in search of an equaliser, but Giacomo Bonaventura pulled his effort wide from inside the area, while Dybala was thwarted by Donnarumma save in stoppage time.