Nicolas Gonzalez's brace either side of Zeki Amdouni's leveller had forced the match into extra-time, but with penalties looming, substitute Antonio Barak kept his cool in front of goal to send Viola into the final.
Requiring at least one goal to remain in the tie, Fiorentina clearly began the match with greater positive intent, with Gonzalez thwarted by a last-ditch challenge inside the opening two minutes.
Basel regularly looked to break the game up with a series of fouls, but Gonzalez threatened once again with a close range header that sailed narrowly wide of the post, before making amends in the 35th minute by coolly planting a header into the bottom left corner.
Former Borussia Dortmund goalkeeper Marwin Hitz kept the Swiss side level in the tie with a superb save to deny Giacomo Bonaventura four minutes prior to the break, with the half-time whistle coming at a good time for the under-fire hosts.
That proved even truer when Amdouni restored Basel's lead in the tie with a lovely finish 10 minutes into the second half. The 22-year-old, who has scored twice in only three caps for Switzerland, displayed his calibre in front of goal by smashing the ball beyond the reach of Pietro Terracciano.
However, after Bonaventura went close once more, Gonzalez doubled his tally for the evening by pouncing on a loose ball inside the penalty area and placing his strike into the bottom right corner to force the match into extra-time.
Both goalkeepers made an excellent save apiece in the first half of extra-time, with Bonaventura denied by Hitz yet again, before Wouter Burger drilled an effort too close to Terracciano despite catching the ball sweetly.
Viola always looked the more likely team to find a crucial late breakthrough, and after Luka Jovic had wasted a presentable chance by firing marginally over from inside the six-yard box, the Italians sunk Basel hearts as Barak struck gold with almost the last kick of the game.