Goals from Riccardo Sottil, Andrea Belotti and Nzola saw the hosts take the lead on three separate occasions after being pegged back by equalisers from Hans Vanaken and Igor Thiago following the initial two.
The visitors had gone down to 10 men just moments before their second goal after Raphael Onyedika's two yellow cards in a matter of minutes, allowing Fiorentina to take control of the remainder of the game and eventually find the winning goal in stoppage time.
Nzola's winner saw the hosts finally break Club Brugge's defence and secure a brilliant lead to take to Belgium for the second leg next week.
The game kicked off in the best possible way for the hosts as Sottil found himself in possession on the edge of the box, cutting onto his right foot and curling a sublime effort into the top right corner to put his side 1-0 up within five minutes.
The lead was not held for long though, as Club Brugge levelled just 12 minutes later through Vanaken's controversial penalty, being awarded after Thiago's initial strike was saved and the following loose ball struck Cristiano Biraghi's arm.
The action continued following the equaliser with both teams looking to spring counterattacks on each other, but no real chances of note occurred with the defenders able to snuff out any danger.
That was until Giacomo Bonaventura's long-range, knuckling effort was rather unorthodoxly saved by the keeper and eventually found its way to Belotti in the box, with the striker quickly shifting to his left foot and firing into the bottom corner to once again give Fiorentina the lead.
Belotti came close to doubling the lead in the 51st minute as Biraghi's free kick found the striker free in the middle of the box, but his header went too central and the keeper was able to tip over the bar.
The hour mark saw things explode into life as Club Brugge almost equalised following Thiago's pass to Ferran Jutgla, but the ball was just behind the forward as he miskicked and allowed Fiorentina to clear.
Just seconds later and Brugge were down to 10 men as Onyedika, who was given his first yellow three minutes earlier, was given his marching orders with a second yellow card for a bad sliding challenge.
A minute later and the visitors were amazingly back level as Thiago latched onto a long clearance from inside the Brugge box, charging down on net and firing across the goal and into the bottom corner.
Fiorentina controlled the remainder of the match but were unable to create many chances of real quality until the eventual winner in the 91st minute.
A cross into the box found its way to Nzola with his first strike hitting the post, but the striker was quickest to react to the rebound as he slotted the loose ball into the empty net and secured the victory for the home side.
The victory for Fiorentina sees them put one foot in their second Europa Conference League final in as many seasons, having heartbreakingly lost last year's final 2-1 to West Ham United after a 90th-minute winner by Jarrod Bowen.
While they take a lead to Belgium for the second leg, the tie is far from over with Club Brugge winning all of their last six games at home.