The Germany striker leveled in the second half after Arturo Vidal had opened the scoring at Juventus Stadium.
The hosts enjoyed a narrow 1-0 win over the Viola in Serie A on Sunday to maintain their title charge and it looked as though it would be a case of deja vu after Arturo Vidal's early opener.
Both sides had plenty of goalscoring opportunities after that and it was the visitors who took were the more ruthless, with substitute Gomez scoring his first goal since returning from a knee injury in February and set up an intriguing second leg.
Juve needed less than three minutes to open the scoring, with Vidal firing home from close range after Sebastian Giovinco had done well to chest Claudio Marchisio's powerful cross into his path.
Vidal was in the thick of it again soon after when he flashed an effort wide from distance as Antonio Conte's men controlled play early.
Stefan Savic was forced to clear Kwadwo Asamoah's delivery from a dangerous position before Alessandro Matri had Fiorentina's first chance — diverting Alberto Aquilani's effort wide of Gianluigi Buffon's right-hand post.
That sparked a short spell of pressure from Vincenzo Montella's men — Matias Fernandez forcing Buffon into a smart save with Asamoah required to acrobatically clear the rebound before the onrushing Borja Valero could follow up.
Vidal threatened twice more late in the half — both with headed efforts — seeing the first saved by Neto before the crossbar denied him seven minutes from the interval.
Juve was given a scare early when Valero dispossessed Angelo Ogbonna in possession and found himself through on goal, before referee Bjorn Kuipers brought play back for a foul on the defender.
With the home side keen to avoid conceding an away goal and Fiorentina eager not to fall further behind, the tempo dropped somewhat and chances became scarce.
However, Gomez needed only one sight of goal when, after being involved for just 12 minutes, he brought down a long ball and slipped the equalizer past the onrushing Buffon.