Leandro Paredes forced a save from Mattia Perin after spotting a gap at the Genoa goalkeeper's near post, but the Italian international got down to stop the clever effort.
Tomas Rincon came close for the away side after a good cross was cleared to the forward, but his curling effort was just wide of the goal.
Empoli then went in front just before half time when Zielinski crossed the ball and the clearance fell to Rade Krunic, who kept his cool to slide the ball simply past Perin.
Zielinski made it two in the second half after Massimo Maccarone hit the bar, but the Polish international kept his cool and nodded his header past a helpless Perin in goal.
The win lifts Empoli into 12th in the Serie A table, level on points with Genoa who drop to 14th and are yet to register an away win this season.