The contract carries an average annual value of $2.25 million, and Zacha will remain a restricted free agent once it expires after the 2021-22 season.
"We are happy to have finalized this three-year agreement as Pavel is an important part of our team," said general manager Ray Shero. "He has established himself as someone who can play in any situation and we are looking forward to his continued growth as a player."
Shero said the club was still trying to sign Zacha despite reports from Sport-Express' Igor Eronko on Monday suggesting the Czech forward had come to terms with Avangard of the KHL.
The 22-year-old contributed a career-high 13 goals to go along with 25 points in 61 contests for the Devils in 2018-19.
Since New Jersey drafted him with the sixth overall pick in 2015, Zacha has struggled to find his form at the NHL level. In 201 career games, he's recorded 29 goals and 76 points.
The Devils now hold $6.46 million in projected cap space with a roster of 22 and no players needing new deals, according to CapFriendly.