Zajc moved to Empoli on 25 January 2017, and signed a four-year contract. He debuted in Serie A on 29 January in a 4–1 defeat against Crotone. In his first season, he made five appearances and scored one goal in Serie A. However, Empoli was relegated to Serie B at the end of the season. Zajc made 41 appearances in the 2017–18 Serie B season, scoring 8 goals and as many as 14 assists, making a fundamental contribution to Empoli's return to Serie A. In the following season, Zajc played 20 games in the 2018–19 Serie A with the Tuscan club, scoring 3 goals and providing 2 assists. He however did not finish the season at Empoli as he changed the club in the winter transfer window.