Juventus have a six-point lead in Serie A with two games left to play. Both teams are equal in head-to-head clashes but Juventus are well ahead of their southern rivals on goal difference.
The champions now need just one point to officially retain their crown with games to come against Roma in the Stadio Olimpico and already-relegated Verona in Turin.
Torino twice battled back from a goal down to steal a point from Maurizio Sarri's side who had been bidding for a first title since the days of Argentina legend Diego Maradona in 1987 and 1990.
“We battled for top spot right down to the wire,” said Sarri. “In the end, the Scudetto come down to minor details.
“We did everything within our power to give Juventus a run for their money but objectively speaking they have greater resources than us and we couldn't have done any more than we did. The biggest regret was those injuries to [Faouzi] Ghoulam and [Arek] Milik because they deprived us of two important players.”
Sarri said the “real turning point” was Juventus' last-gasp win over Inter Milan last weekend with two goals in the final three minutes. “In four minutes the Scudetto went from within our grasp to in Juve's hands. Moments like that can define a season.”
The mood in the Stadio San Paolo was one of support for Sarri after club president Aurelio De Laurentiis laid the blame on the coach after last week's defeat at Fiorentina effectively ended their title challenge.
Napoli's last win was against Juventus in Turin two weeks ago. Dries Mertens celebrated his 31st birthday by putting Napoli ahead after 25 minutes after a shocking defensive error by Torino's Nicolas Burdisso, with captain Marek Hamsik coming off the bench to add a second for the hosts and his 100th in Serie A after 71 minutes.
But Daniele Baselli pulled the visitors level 10 minutes into the second half with a dejected Sarri burying his head in his hands as Lorenzo De Silvestri headed in seven minutes from time.
“I got angry because I want to finish the season as well as possible,” said the Napoli coach. “We must end the season on a high. These last two matches are very important because we can set a new all-time points record for this club.”
Juventus had recovered from a goal down to beat Bologna 3-1 on Saturday to open up a seven-point lead. Massimiliano Allegri's Juventus would have to lose their final two matches and Napoli to achieve high-scoring wins against Sampdoria and Crotone to make up the goal difference.
Napoli and Juventus both won 1-0 away from home against each other this season, but the Turin giants (+61) have a considerable edge over Napoli (+45) in terms of goal difference.
Inter still in Champions League race
With Juventus and Napoli in the top two spots, Inter Milan kept their Champions League hopes alive with a 4-0 win over Udinese to move to within two points of fourth-placed Lazio, who were held 1-1 by Atalanta.
Roma broke two points clear of Lazio in third thanks to Turkish international forward Cengiz Under's 15th minute strike in a 1-0 win which saw Cagliari slip into the bottom three.
Lazio – without injured Serie A top scorer Ciro Immobile – were trailing when Musa Barrow scored after two minutes before Felipe Caicedo grabbed the equalizer on 24 minutes.
Inter assured fifth place and seal at least Europa League action next season. “We're still convinced that we can get to the Champions League,” said Inter coach Luciano Spalletti.
Inter captain Mauro Icardi kept his push for the Golden Boot alive with his 28th goal this season, just one short of Lazio's injured striker Ciro Immobile.
Matteo Politano's goal midway through the second half ended Sampdoria's Europa League ambitions and secured Sassuolo safety.
Udinese slip to just a point above the drop zone, with Chievo moving ahead of them after a 2-1 win against relegation rivals Crotone.
By Emmeline Moore