Lazio's 2-1 loss to Sassuolo earlier in the day gave Atalanta, on an 11-match winning streak heading into the game, the chance to move second and cut the gap to Juve to six points.
But despite trailing twice and being outplayed for long periods, Maurizio Sarri's Juventus moved eight points clear at the top with six matches remaining as Ronaldo took his tally to 28 league goals this season.
It was an ultimately frustrating outing for Atalanta who stay third, nine points off the pace.
Juve started brightly but it did not take long for the visitors to take control and start to dominate possession.
Josip Ilicic fired the first real chance of the game wide, but Atalanta grabbed the lead in the 16th minute, scoring for the 25th consecutive match in all competitions.
Papu Gomez was the creator, wriggling free in midfield before exchanging passes with Duvan Zapata before sliding the ball back for the Colombian to drill home his 15th league goal of the campaign.
The goal made Atalanta the first Serie A club in almost 70 years to have three players score 15 times in a league season, with Zapata joining Ilicic and Luis Muriel in reaching the mark.
Zapata was proving a real nuisance for Juve, with Matthijs de Ligt doing well to block another goalbound effort, before the striker narrowly failed to connect with Timothy Castagne's cross.
Paulo Dybala almost levelled for the hosts against the run of play, but his volley was deflected wide.
The reigning champions were gifted a route back into the game nine minutes after half-time as Marten de Roon was penalised for handling Dybala's cross.
Ronaldo stepped up to score his 27th Serie A goal this term, drawing him within two of Lazio's Ciro Immobile at the top of the goalscoring charts.
Atalanta continued to attack in search of the victory they needed to boost their title hopes, but shortly after substitute Muriel fired a free-kick into the wall, Malinovskiy's low strike flicked the base of the post.
Ronaldo almost put Juve in front with 10 minutes to play, but visiting goalkeeper Pierluigi Gollini made an excellent save to keep out the Portuguese star's half-volley.
Malinovskiy did put Atalanta back into the lead in the 81st minute, as Muriel picked out his fellow sub to hammer a fierce shot past Wojciech Szczesny.
But Atalanta shot themselves in the foot again in the 90th minute, as Ronaldo fired in his second spot-kick after Muriel was penalised for handball.
Lazio stumble again
Earlier on Saturday, Lazio's title dream suffered yet another setback as Francesco Caputo's injury-time header grabbed Sassuolo a late victory at the Stadio Olimpico.
The capital club sit eight points adrift of Juve in their tilt at a first league title since 2000, but have suffered three straight defeats.
"Talking about the Scudetto was always a bit of a stretch and we have to look reality in the face," coach Simone Inzaghi told Sky Sport Italia.
"That doesn't mean we will give up. Next season, in the Champions League, we'll be able to rotate the squad more."
Luis Alberto gave Lazio a first-half lead, but that was their only shot on target in the match as Sassuolo fought back through goals from Giacomo Raspadori, on his full league debut, and Caputo.
Roma strengthened their grip on a Europa League slot with a comfortable 3-0 win at relegation-threatened Brescia.