Carlo Ancelotti's Napoli visit third-placed Inter Milan later in the day, though, with the chance to cut the gap to the reigning champions.
Juventus coach Massimiliano Allegri decided to rest Ronaldo as the former Real Madrid man did not start a league game for the first time since moving to Italy, but the 33-year-old was needed to level in the 78th minute after Duvan Zapata's double had put the hosts in front following Berat Djimsiti's own goal.
Ronaldo's efforts keep Juventus unbeaten in Serie A, ahead of the final game before the winter break against Sampdoria on Saturday.
Everything appeared to be going to plan for Juve when they grabbed the lead in only the second minute when Atalanta centre-back Djimsiti completely miskicked Alex Sandro's deflected cross into his own net.
But Zapata put a spanner in the Juve works with a fantastic individual goal midway through the first half, spinning centre-back Leonardo Bonucci with ease before drilling a left-footed strike into the far corner.
Douglas Costa fired wide just after the half-hour mark as the visitors looked to restore their advantage, but the Turin giants were reduced to 10 men eight minutes after half-time when Rodrigo Bentancur was shown a second yellow card for a poor tackle on Timothy Castagne.
Colombian striker Zapata wasted little time in making Bentancur pay, bundling in from almost on the goalline to put Atalanta ahead and score his ninth league goal of the season.
Allegri sent on Ronaldo with 25 minutes remaining, and less than 60 seconds after Robin Gosens wasted a golden opportunity to seal victory for Atalanta, the Portuguese star pounced to nod home from close range.
Pressure mounts on Gattuso
Earlier on Wednesday, AC Milan's push for a top-four finish in Serie A took a hit as Gennaro Gattuso's side were held to an uneventful 0-0 draw at struggling Frosinone.
The seven-time European champions have now failed to score in four consecutive league games for the first time since 1984, managing three goalless stalemates in the process.
“To reach our objective of Champions League qualification we can't play the way we did in the first half,” Gattuso told DAZN.
“I'm the captain of this ship, so it's only right that I take all the responsibility. It's important for me to understand how to make my players play their best, because right now they're performing below their ability.
“There's no calmness and they look nervous, that's what I need to think about. As for the rest, anything can happen.”
Milan slipped to sixth, behind fourth-placed Lazio by three points in the race for Champions League qualification.
Capital club Lazio won 2-0 at Bologna, while Sampdoria leapfrogged Milan into fifth by seeing off rock-bottom Chievo 2-0.
Milan have said they will appeal to the Court of Arbitration for Sport after UEFA threatened to ban them from European competition for a season if they do not break even by June 2021.
The club won a previous appeal to CAS earlier this year, following a Europa League ban for breaching Financial Fair Play regulations.
But their efforts to secure European football for next season suffered a setback against a resolute Frosinone outfit who almost snatched a dramatic 93rd-minute winner when Camillo Ciano was denied by visiting goalkeeper Gianluigi Donnarumma.
Ciano had already seen a goal ruled out by VAR for a foul eight minutes before half-time.
Frosinone remain second-bottom above only winless Chievo, having managed just one victory all season.