Bologna squandered a two-goal lead but nevertheless beat Sampdoria 3-2.
The pressure was on Napoli, which knew it needed to win to move back top.
But it was coach Maurizio Sarri’s former side that went in front in the 28th minute when a well-worked free kick by Leandro Paredes took a deflection to wrongfoot Pepe Reina.
Empoli’s lead lasted just five minutes before Higuain headed Lorenzo Insigne’s cross into the bottom right corner for his 22nd goal in 22 league matches this season.
Napoli completed the turnaround five minutes later as Insigne curled a stunning free kick into the top left corner.
Napoli extended its advantage six minutes after the break when debutant Michele Camporese turned into his own net as he tried to prevent Higuain from getting to Jose Callejon’s cross.
Higuain went off in the 72nd minute to a standing ovation but Napoli added to its tally as Callejon twice fired in crosses from Dries Mertens.
Despite the win, Sarri needed no reminding about the title challenge facing his side.
"Juventus is clearly on another level," Sarri said. "We’ve found ourselves in this situation only because of their bad start. I don’t know if Insigne and Higuain can close the gap to Juventus: we have great forwards but there’s still a long way to go before we can match Juventus."
Juventus striker Alvaro Morata had broken a 20-match goalscoring drought with a double in the Italian Cup semifinal against Inter midweek and he scored another double in Verona.
The Spain forward netted his first in the sixth minute, prodding in Stephan Lichtsteiner’s low cross at the back post.
Morata doubled his tally five minutes before halftime with another tap in after Paulo Dybala managed to get the ball through for Sami Khedira to roll across.
Juventus went further in front shortly after the hour as Lichtsteiner cut back for Paul Pogba who unselfishly set up Alex Sandro instead of going for goal himself.
Pogba did get on the scoresheet six minutes later, driving into the bottom right corner after forcing his way into the area.
Allegri has now matched Antonio Conte’s all-time club record of 12 consecutive league victories.
"Perfection doesn’t exist, but we’re working on it," said Juventus coach Massimiliano Allegri said, who highlighted that "there are still 16 matches left … We have to play against Genoa and Frosinone, which are two tricky matches, and then our direct battle against Napoli.
"The lads win the matches on the pitch, I don’t care about records at all … I would be upset if we won 20 matches in a row and then lost the title. What matters is winning the title."
The record winning streak in Serie A is Inter’s 17-match run in 2006-07.
At San Siro, Inter goalkeeper Samir Handanovic had little to do for most of the opening stages of the match and was doing exercises shortly before the opening goal as he was the only player in his half.
Milan broke the deadlock in the 35th when Alex met Keisuke Honda’s cross with a towering header. Coincidentally, Milan’s pre-match choreography had depicted Mark Hateley’s towering header in the 1984 derby.
The referee appeared to point to the penalty spot five minutes after the restart and then changed his mind after Milan goalkeeper Gianluigi Donnarumma clattered into Eder. That infuriated Inter coach Roberto Mancini, who was sent to the stands for dissent.
Inter was awarded a penalty in the 69th when Alex brought down Icardi but the Inter substitute saw his spot kick come off the base of the right upright.
Bacca doubled Milan’s lead three minutes later, volleying in M’Baye Niang’s cross from close range. Niang got on the scoresheet himself four minutes later, slotting home the rebound after Handanovic had saved his first attempt.