Juve are six points clear of second-placed Atalanta and can claim their 36th ‘Scudetto’ on Thursday with a win at struggling Udinese.
Antonio Conte’s Inter are third, one point behind Atalanta with three games to play, despite having dominated for long periods under the rain at the San Siro.
A Romelu Lukaku header hit the woodwork after 18 minutes with Alexis Sanchez also missing a chance for the winner just after the break.
Fiorentina goalkeeper Pietro Terracciano pulled off a string of saves denying Nicolo Barella and Lukaku from close range.
Inter’s place in the Champions League next season is assured but they could now finish fourth, with Lazio four points back ahead of their match with 13th-placed Cagliari on Thursday.
Roma, meanwhile, move back fifth ahead of AC Milan, who beat Sassuolo on Tuesday, after routing already-relegated SPAL 6-1.
Bruno Peres scored a second-half brace with Carles Perez scoring his first Serie A goal for the visitors with Nikola Kalinic and Nicolo Zaniolo also on target.
Zaniolo’s goal in the final minute was a superb individual run and finish and came after rumours of the rising star’s involvement in a dressing room bust-up.
Roma are two points ahead of Milan, with the two teams already assured of Europa League football next season, with Napoli seventh, three points further back after falling 2-1 at Parma.
Gianluca Caprari and Dejan Kulusevski ended a miserable run for Parma in a match in which all three goals were scored from the penalty spot.
A run of six defeats and one draw in Parma’s previous seven matches was brought to an end thanks to the two spot-kicks which came late in each half.
It was a second loss since the return of football in Italy for Gennaro Gattuso’s Napoli, whose Champions League last 16, second leg match against Barcelona is weeks away.
Napoli have already qualified for the Europa League after winning the Italian Cup.
At the bottom of the table, Genoa beat city rivals Sampdoria 2-1 to stay four points ahead of Lecce who occupy the final relegation place.
Lecce beat Brescia 3-1 to condemn their opponents to Serie B next season.
Udinese go into Thursday’s clash with Juventus level on 36 points with Genoa and with their Serie A safety not yet assured.