The result means the Bianconeri now sit eight points up on nearest rivals Inter with four matches remaining, meaning a ninth-straight title is within striking distance.
All the action took place after the restart in Monday’s clash, as Ronaldo first fired home from the penalty spot before adding an easy second after some calamitous Luiz Felipe defending.
Ciro Immobile cut into the lead with a late penalty to draw level with Ronaldo on 30 goals, but it proved too little too late as Juve did just enough to hang on despite some nervy defending in the closing moments.
The early exchanges saw Leonardo Bonucci block an Immobile through ball for Felipe Caicedo, whole Alex Sandro headed the ball off the outside of the post after Lazio’s defence were unable to clear the ball after a free kick.
Danilo Cataldi fired a deflected strike that whistled just wide of the mark, while Adrien Rabiot responded with a splendid run from midfield that forced Thomas Strakosha to push the ball over the bar after a tight-angle strike.
The best chance fell to Lazio just before half-time when Immobile fired a stinging effort that left Wojciech Szczesny, but unfortunately for the Lazio man his strike came back off the base of the post.
Juventus came flying out of the restart when Dybala wriggled his way past a few Lazio defenders. His effort was eventually pushed out to Cristiano Ronaldo who tried to push the ball over the line, but the slow-rolling ball was cleared by an attentive Manuel Lazzari.
Unfortunately for Lazio play continued and Ronaldo’s shot from distance was blocked by Bastos’ outstretched arm. Originally called a free kick, referee Daniele Orsato changed it to a penalty after consulting with VAR.
Ronaldo stepped up and fired past an outstretched Strakosha, and he doubled his tally just minutes later.
Luiz Felipe gave the ball away in the centre-circle, allowing Paulo Dybala and the Portuguese striker to break in uncontested. The Argentine played a perfect pass across to Ronaldo who tapped home for his 30th of the season to move ahead of Immobile as top goalscorer.
The crossbar denied Ronaldo a hat-trick after a free header from a Dybala cross, and it proved costly as Lazio were handed a lifeline in the 83rd minute thanks to some shocking Bonucci defence.
The Italian didn’t realize Immobile was closing in behind him, and when he tried to clear the ball away he took out the Lazio man in the penalty box. Immobile stepped up and fired past Szczesny to draw level with Ronaldo and set up a tense end to the match.
It was very nearly 2-2 when Milinkovic-Savic’s free kick looped over the bar only for Szczesny to fly across goal and palm the ball away, and it proved crucial as Juve saw out the final moments to secure the victory and move eight points clear of Inter.