The Viola made the breakthrough in the 20th minute when Facundo Roncaglia received the ball just outside hosts' penalty area and fired into the net off Antonio Mirante's palm.
It could have become 2-0 to Fiorentina minutes later had Stevan Jovetic managed to keep his shot from a David Pizarro pass on target.
Alessandro Lucarelli then headed against the visitors' post from a Dorlan Pabon corner in the 29th minute.
Roncaglia could have scored his second goal of the evening before half-time when trying to reach Matias Fernandez's free kick, he clattered the Parma post.
Parma were given a golden opportunity to equalise in the 56th minute when they were awarded a penalty.
However, Jaime Valdes saw his spot kick saved by Emiliano Viviano.
With just two minutes of normal time left, Fiorentina were awarded a penalty of their own, as Aleandro Rosi brought down Mattia Cassani inside the box and was sent off.
Jovetic, though, failed to get the ball past Mirante, and it came back to haunt him and his teammates.
Luca Toni handled the ball inside the Fiorentina penalty in injury time, and this time Valdes made no mistake from 12 yards.