Surprise substitute Cristiano Ronaldo was denied a winner by VAR deep into stoppage time as Juventus drew 2-2 at Udinese following a pair of Wojciech Szczesny blunders.

Impressive early strikes from Paulo Dybala and Juan Cuadrado looked to have paved the way for a season-opening Serie A success, and a first win of head coach Massimiliano Allegri's second spell in charge of Juventus.

But a mistake by goalkeeper Szczesny was punished from the penalty spot early in the second half, and a desperate clanger in the 83rd minute allowed Gerard Deulofeu to net a dramatic leveller.

In a ripsnorting finish, Udinese almost sneaked a winner, Mato Jajalo firing over in the 90th minute, before Ronaldo headed in a Federico Chiesa cross in the fourth minute of stoppage time. The celebrations were wild, and a euphoric Ronaldo was booked for removing his shirt, before he was left stunned to see the goal disallowed for offside.

Ronaldo and Dybala have contracts that run to the end of this season, and there seems scant prospect of both staying in Turin. Dybala is seemingly keen to remain, Ronaldo less so, and his omission from the starting XI here sparked fresh speculation about his future. 

Juventus took just two minutes and three seconds to surge ahead, their earliest goal in a season opener during the three-points-for-a-win era, which began in 1994-95. 

Giorgio Chiellini was on the bench so Dybala captained the team, and it was the Argentine forward who produced a special finish to catch the hosts cold. Rodrigo Bentancur slid in a low ball from the right and Dybala cleverly flicked the ball across goal into the left corner. 

Dybala then played a key role in the second Juventus goal, which came in the 23rd minute, looping a long pass to Cuadrado, who took his first touch just a couple of strides outside the Udinese penalty area. The Colombian shuffled skilfully past flummoxed Udinese captain Bram Nuytinck and lashed a low shot into the same corner that Dybala had earlier found. 

Juventus looked practically home and hosed at the break, but conceded a penalty in the 50th minute when Szczesny made a poor parry of Tolgay Arslan's shot before bringing down the Udinese man as he chased down the rebound. 

Former Juve man Roberto Pereyra fired the spot-kick into the right corner, before Alvaro Morata headed against the left post at the other end a couple of minutes later, from a chance he would expect to tuck away. 

Allegri saw the game potentially slipping away and sent on Ronaldo, Chiellini and Dejan Kulusevski on the hour mark, Morata among those to make way. Ronaldo soon teed up Bentancur to smash a shot against the right post, and then came the late drama, Juventus left smarting on day one of the new campaign.