Andrea Pirlo's side were frustrated for long periods, but second-half goals from Alvaro Morata, Federico Chiesa and Cristiano Ronaldo clinched an important win
Juventus gave their hopes of a 10th straight Serie A title a timely boost as they beat struggling Spezia 3-0 on Tuesday to move within seven points of league leaders Inter Milan.
Andrea Pirlo's side were frustrated for long periods, but second-half goals from Alvaro Morata, Federico Chiesa and Cristiano Ronaldo clinched an important win.
Juve sit three points behind second-placed AC Milan, who host Udinese on Wednesday, with Inter Milan four points further clear ahead of their match at Parma on Thursday.
"The gap is just the points that separate us," Juventus coach Pirlo, who took over at the start of the season, told Sky Sport Italia.
"We know it will be a long chase, Inter have been playing together for two years, they have a well-drilled approach, whereas we just started this season. We still intend to be there right to the end."
The Turin giants have won the last nine Italian league titles, but have it all to do to deny either of the two Milan clubs from ending that remarkable run.
"We are working to win, if we don't win this season, then we'll congratulate the champions, but as long as there's a mathematical chance, we'll give our all on the pitch," Morata said.
Juventus started slowly, as they had done in their weekend draw at Verona, with their only real opening in the first half seeing Chiesa having an effort ruled out for a clear offside.
But the reigning champions were much better in the second period and Ronaldo was unlucky to see his 49th-minute strike hit the post.
Pirlo's men finally moved in front in the 62nd minute as Morata turned in Federico Bernardeschi's near-post cross, although the hosts had to wait for VAR to confirm the winger was onside.
Bernardeschi was also instrumental in the second goal, as he got in behind the Spezia defence down the left-hand side.
He squared the ball for Chiesa, whose effort was saved by Ivan Provedel, only for the Juve man to tap in the rebound.
There was still time for Rodrigo Bentancur to launch a Juventus counter-attack, which was finished off by Ronaldo, with the Portuguese forward scoring his 20th Serie A goal of the campaign.
It is the 12th straight season Ronaldo has notched 20 league goals, dating back to his final term with Manchester United, when he netted 18 times in the 2008-09 Premier League season.
Andrey Galabinov missed a penalty deep into injury time for Spezia, who remain in 16th place, seven points above the bottom three, but having played at least a game more than all of their relegation rivals.