The result lifts La Viola into sixth place on six points following back-to-back victories, while Atalanta slid to 10th spot on four points.
Vlahovic dispatched a spot kick after Joakim Maehle was penalised for handball following a lengthy Video Assistant Referee (VAR) review.
The 20-year-old was equally composed when Giacomo Bonaventura was tripped in the box to offer him his second penalty of the night early in the second half, which he fired into the top corner.
The Colombia international's goal made him Atalanta's second top scorer in Serie A with 57 goals, only behind Cristiano Doni on 69, but Fiorentina held firm to see out the win.
Earlier, newly promoted Venezia earned their first win of the season at Empoli thanks to a Thomas Henry goal and a dazzling solo goal from substitute David Okereke, who began a winding dribble inside his own half before firing into the bottom corner.
Empoli, who stunned Juventus with a 1-0 win before the international break, pulled one back late on through a Nedim Bajrami penalty, but they remain on three points in 11th, level with Venezia one place below them.