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 the lead only lasted a matter of minutes, with Yevhen Seleznyov equalizing 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 the win.
The result means Fiorentina leads its group, and the team 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 hand ball.
Montella's side continued to push for the win, though, and was rewarded for its endeavors 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 the Group E summit.