The former Italy playmaker unleashed an unstoppable winner in the 58th minute to lift the Eternal City club within six points of fifth-placed Inter Milan.
The result meant Juve's five-point advantage at the summit could be cut when second-placed Napoli host Sampdoria on Sunday.
In Saturday night's other game in the Italian top flight, Palermo moved off the foot of the table thanks to a 1-1 draw at Chievo in a game of two contrasting halves at the Stadio Marc'Antonio Bentegodi.
The Rosaneri took the lead in the fifth minute through Mauro Formica and it was a one-sided opening 45 minutes in which Palermo failed only to add a second goal.
Chievo responded well in the second half, though, and equalised through Cyril Thereau's penalty.
Sampdoria and Torino will be looking to break in the top half of the Serie A table.
Samp visit second-placed Napoli at the San Paolo, where they have not claimed victory since 1998, while Torino are keen to avoid a vengeful Atalanta side who lost 5-1 to the Granata back in September.
Inter Milan might fancy their chances of beating Fiorentina for the fifth time in six meetings after returning to fourth place with victory over Siena last time out.
Cagliari president Massimo Cellino was arrested as part of an ongoing investigation into the matters surrounding the construction of the Stadio Is Arenas, but his side leave the drama in Sardinia behind as relegation-threatened Pescara welcome Ivo Pulga's men to the Stadio Adriatico.
Lazio's trip to Siena takes place on Monday night due to capital club's Europa League commitments while bottom side Palermo face a tough battle for points at Chievo.
The Sicilians have not scored in Verona since October 2006 when, bizarrely, current Chievo boss Eugenio Corini scored the only goal of a 1-0 victory.
Elsewhere, Genoa are unbeaten under new coach Davide Ballardini but upwardly-mobile Udinese pose a stern test at the Marassi with Catania looking to wrest back seventh place should they beat Bologna.
Earlier on Friday, Mario Balotelli scored for the third game in a row since joining AC Milan to ensure the hosts took all three points as they beat Parma 2-1 at the San Siro.
An own goal from Gabriel Paletta gave the Rossoneri the lead in the first half before Balotelli netted his fourth goal in just three games for his new club.
Nicola Sansone scored a consolation for Parma deep in stoppage time but there was no time for the visitors to scramble what would have been an ill-deserved second.
The three points lift Milan above city rivals Inter and level on points with third-placed Lazio.
Friday's Serie A Results
Saturday's Serie A Results
Sunday's Serie A Fixtures
Monday's Serie A Fixture
Siena vs Lazio