The former Bayern Munich striker gifted the home side a first-half lead, but the Serbian attacker salvaged a draw for the Romans.
Mario Gomez opened the scoring after reacting well to a David Pizarro shot, but Adem Ljajic would eventually restore parity after the break.
The host started the match brightly and came close to opening the scoring through Gonzalo Rodriguez after 14 minutes of play, only for Daniele De Rossi to clear his attempt off the line with Morgan De Sanctis already beaten.
Fiorentina would continue to dominate, though, and got its goal after all in the 19th minute. David Pizarro took aim from outside the area after the Roma defense failed to clear the ball, and Gomez reacted well to deflect the ball past De Sanctis for the 1-0.
The away side nearly leveled the scoring at the half-hour mark when Radja Nainggolan met a Ljajic corner, but Ciprian Tatarusanu pulled off a great save to deny the Belgium international.
Nenad Tomovic then threatened for Fiorentina once more with a good shot after a quick turn, yet his attempt went inches wide as Roma escaped a second goal.
Ljajic tried his luck with a powerful long-range strike in the closing stages of the first half, but Tatarusanu was well placed and calmly collected.
The Serbian was not to be denied in the 49th minute, however, as he restored parity after a superb Roma move. Francesco Totti found Juan Iturbe, who set up Ljajic and the 23-year-old hurt his former team with a composed finish.
Totti once more reached Iturbe in a dangerous position shortly after the equaliser, but the Argentine failed to beat the Fiorentina goalkeeper.
La Viola slowly grew back into the game from there on and Jasmin Kurtic could have restored his side's lead halfway through the second half, only to see his shot blocked by Mapou Yangou-Mbiwa.
Ljajic continued to cause the host's defense all kinds of trouble and he got a good chance to double his personal tally after being set up by Iturbe in the 72nd minute, but he blasted his attempt over the bar.
Roma remains second in Serie A but has fallen seven points behind leader Juventus.
Fiorentina, meanwhile, sits sixth in the table with 31 points from 20 games.