Vincenzo Montella's side came through a stern test in terrible conditions in Ukraine to clinch a valuable three points
The visitors took the lead through Gonzalo Rodriguez's penalty on 53 minutes but their lead only lasted a matter of minutes, with Yevhen Seleznyov equalising with a spot-kick for the hosts.
Falling snow marred much of the encounter but Massimo Ambrosini clinched victory for the Serie A side with 17 minutes remaining and even David Pizarro's late red card couldn't stop the Viola from claiming victory.
The result means Fiorentina lead their group on the back of Thursday's victory and answered Vincenzo Montella's pre-match cry for improvement from his side.
Dnipro created the first opportunity of note through Seleznyov but Norberto Neto pulled off a diving save low to his right.
The visitors soon responded. Matos Ryder got on the end of Marcos Alonso's pass inside the box but he failed to force goalkeeper Denys Boyko into a save.
Two goals shortly after the interval sparked the game into life as Rodriguez stepped up to put Fiorentina 1-0 in front after Matos Ryder was felled in the box, only for Seleznyov to reply from the spot moments later following Pizarro's handball.
Montella's side continued to push for the win, though, and were rewarded for their endeavours when Ambrosini nodded home a Borja Valero cross on 73 minutes to make it 2-1.
Pizarro was given his marching orders when he picked up a second booking late on but it mattered little with Fiorentina sealing the win and moving to Group E summit.