Substitute Joao Cancelo's first Juventus goal looked to have salvaged a fortunate point for Juve, but they then went one better as he won a late penalty which was converted by Ronaldo, his 15th
league goal of the campaign.
Cancelo, having just come off the bench, had struck with 16 minutes remaining, cancelling out Emre Can's earlier own goal as Juve moved to 21 games unbeaten in the top flight this season.
They move 11 points clear of Napoli - who drew with AC Milan on Saturday - at the top of the table, despite having been second best for much of Sunday's match at Stadio Olimpico.Massimiliano Allegri's men failed to register a single shot during a first half where they lost an emotional Leonardo Bonucci to injury, with Wojciech Szczesny making a superb save from Marco Parolo and Daniele Rugani clearing a Ciro Immobile effort off the line to somehow keep the match level.
Can's mistake just before the hour mark eventually gave Lazio the lead, with Juve never looking likely to respond until Cancelo's impact from the bench.
Lazio should have led when Wallace mistimed a free header, while Joaquin Correa – having earlier caused panic in the Juve defence with a fine solo run that caused Bonucci's injury - forced a save from Szczesny.
Szczesny was tested again by Luis Alberto, and had to be at full stretch to make a magnificent one-handed stop from Parolo's 18-yard strike.
Juve had two penalty claims for handball against Wallace turned down prior to losing Bonucci, who had limped through much of the half, before Immobile's flicked finish saw Rugani forced into a crucial clearance, atoning for his own poor header.
Luis Alberto fired just wide after the break, but he then contributed to an opener that had long been coming. His excellent 59th-minute corner towards a cluster of players around the six-yard box led to a stooping Can diverting it into his own net.
It should have been game over when Immobile was played in by Correa, but the striker blazed over, and that glaring miss proved costly as Juve turned the tables.
Federico Bernardeschi's fine work down the left set up Paulo Dybala, whose shot was parried by Thomas Strakosha, but Cancelo found the bottom corner with the rebound.
Lazio then fumed when Senad Lulic was adjudged to have tugged down Cancelo off the ball prior to a Bernardeschi cross, Ronaldo keeping his cool to send the match-winning spot-kick straight down the middle as Juve escaped with the points.
Juve, somehow, extend lead
In 10 matches against teams in the top four this season, Lazio have now lost nine and drawn one. They proved they are more than capable of matching it with the big boys in this one, but paid the price for failing to build more of an advantage in an opening 70 minutes they completely dominated.
Lazio remain three points adrift of the top four, while Juve extend their lead at the top of the table, a sickening blow to Napoli, who looked like they were about to be offered a glimmer of hope in the Scudetto race as Allegri's men struggled throughout.
Cancelo contribution crucial
Cancelo only had 20 minutes to make an impression, but he made full use of his time on the pitch. He scored the equaliser and won the decisive penalty, sparking life into a Juve side that offered nothing going forward before he came on, despite having Ronaldo, Dybala and Douglas Costa in attacking areas. Bernardeschi, who also came off the bench, had a hand in both goals too.