The Serbian acrobatically netted from close range early in the second period after the influential Gaetano Castrovilli had cut the ball back from the byline, before the pair linked up again to allow the latter to add a second.
Despite a slow start, Fiorentina were dominant in the second half and completed victory as Valentin Eysseric took advantage of a defensive howler to add a late third.
Spezia began the match on the offensive and were almost in within the opening five minutes, as Kevin Agudelo found space to meet a low Luca Vignali cross, though he could only steer the ball into the side-netting.
However, the visitors were forced into an early change after Riccardo Marchizza was stretchered off in the opening 10 minutes after a clash of heads with Christian Kouame, forcing a lengthy delay and concern for the centre-back.
The Aquilotti were offering the greater threat and Riccardo Saponara came close to scoring against his former club, but his header deflected off teammate Ardan Ismajili and fell kindly for goalkeeper Bartlomiej Dragowski.
At the other end, quick passing opened the Spezia defence up and allowed Giacomo Bonaventura to float the ball to Cristiano Biraghi at the back post, but he scuffed his first effort and blazed over with the follow up.
Spezia were proving a threat from set-pieces and a corner on the half-hour mark ricocheted in the box, before Matteo Ricci’s volley was blocked and Saponara skied a loose ball over.
Fiorentina made a flying start to the second half and were ahead within minutes, as Castrovilli met a lofted pass to hook the ball across the face of goal for Vlahovic to acrobatically finish into an empty net. After initially being ruled out, a lengthy VAR check confirmed the ball remained in play when Castrovilli met it on the line and the goal was awarded.
The Viola came close moments later as Vlahovic pounced on a loose pass to race from the halfway line and release Eysseric, but the Frenchman allowed Ivan Provedel to smother the ball before he could shoot.
Midway through the half Fiorentina had indeed doubled their advantage as a quick attack saw Biraghi’s low cross from the left dummied by Vlahovic, allowing Castrovilli to drill into the roof of the net.
Cesare Prandelli’s side were dominating and Vlahovic almost found his second as he was released in the box, but his low shot was blocked by the quick reactions of Provedel.
Spezia were finding chances few and far between, with Andrey Galabinov crowded out as he looked to turn home a dangerous Vignali cross, whilst Emmanuel Gyasi forced a good low save from a tight angle.
Fiorentina’s win was sealed late on as Vlahovic pounced on a defensive mix up to steal a loose pass and race in between the centre-backs and square for Eysseric to apply a simple finish.
Victory sees the Viola go above Spezia in the Serie A table and leap to 12th in the table, whilst the visitors languish in 16th.