Maurizio Sarri's Juve left it late to seal victory in Bergamo after Robin Gosens had nodded Atalanta ahead after 56 minutes.
But Higuain hit back with two goals in eight minutes before Paulo Dybala marked his 200th Serie A appearance with the third goal one minute into injury time.
Juve stay one point ahead of second-placed Inter Milan, who outplayed Torino in torrential rain in Turin, as Atalanta drop to sixth place after their fourth league game without a win.
"We suffered, but in the final 20 minutes we gave everything we had to bring the win home," said Sarri.
Cristiano Ronaldo missed the trip despite his four-goal spree for Portugal as he recovers from a knee problem ahead of Juve's Champions League game against Atletico Madrid.
"I hope Cristiano will be back for the Champions League on Tuesday," said Sarri.
"We're solving this knee problem that has been bothering him for a while. Playing with a hint of pain will tire you out psychologically.
"So far he has trained in the right way, so as not to overload his knee."
Ronaldo ready to make amends as injury-hit Juve take on Atalanta
Higuain pulled Juventus level after 74 minutes with a ball that took a deflection off Rafael Toloi to beat Pierluigi Gollini in the Atalanta goal.
The Argentine completed his double when he picked up a cross from Juan Cuadrado, who had put his hand on the ball during a sliding tackle at the start of the move.
Then Dybala broke through the Atalanta defence to score his fourth Serie A goal this season.
"It was a great test of maturity in a difficult field, three fundamental points for the championship," said Higuain.
Atalanta had their chances, with Musa Barrow missing an early penalty as the Bergamo side chased their first Serie A win over Juventus since February 2001.
The 21-year-old Gambian rattled the crossbar after 17 minutes after a spot-kick was awarded for a Sami Khedira handball.
"Atalanta had perhaps their best performance this season and deserved to win, until that unlucky equaliser. That was the turning point," said Atalanta coach Gian Piero Gasperini.
In Turin, Inter Milan earned their first win in three years over Torino despite difficult conditions with the game starting 10 minutes late because of heavy rainfall in northern Italy.
Torino captain and Italy forward Andrea Belotti went off after 10 minutes after falling on the water-logged pitch, while Nicolo Barella was forced off a soaked pitch with a knee injury in the final minutes of the first half.
Messi says Ronaldo is the best striker he has ever seen
Barella said he "felt the knee go click" and Inter later said the Italy international had suffered a sprained knee and would need further tests.
"I hope it's nothing serious because he's he's a warrior, an important player for us," said coach Antonio Conte.
A minute after Belotti's departure Lautaro Martinez opened the scoring, before Stefan de Vrij volleyed in a Cristiano Biraghi cross just after the half an hour mark.
Romelu Lukaku hit his 10th league goal of the campaign in the 55th minutes as Inter hammered home their title credentials.
Antonio Conte's side are 10 points ahead of third-placed Lazio and Cagliari, who play lowly Lecce and Sassuolo respectively on Sunday.
"I'm happy above all for the lads who are getting big results," said Conte, "but the thing that makes me happiest is that we didn't concede today."
But the pressure is mounting on Napoli coach Carlo Ancelotti ahead of his side's Champions League trip to Liverpool midweek following their disappointing 1-1 draw at the San Siro.
Serie A runners-up for the past two seasons, Napoli sit are seventh, 15 points behind Juve after 13 games and the stalemate is a poor result for a team that had title ambitions in the summer.
Milan are struggling in 13th position with just one point from their last three games.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ