They do sit five points behind runaway leaders Ludogorets - a statistic which poses a real threat to their hopes of finishing first in the group - but they will just be pleased to return to Holland with a draw after a tough night.
Phillip Cocu's men were given a real examination, especially in the first half, but will take heart from the draw and look forward to the return fixture in Holland.
They did not start on the back foot, though, and looked to impose themselves from the off as Jurgen Locadia whistled in a fourth-minute strike to test the water. Zagreb came back at them with interest, however.
Marcelo Brozovic had a shot blocked by Jeffrey Bruma and then twice hit away from goal in the middle of a busy period, which also saw Daniel Pinto slice wide.
The flow continued and El Arbi Soudani forced Przemyslaw Tyton into a stunning stop away to his left, and with the same man and Domagoj Antolic twice more forcing the keeper into fine saves, it seemed a case of when not if Zagreb were going to score.
PSV somehow hung on, though, and had Ola Toivonen been better from 12 yards they would have been in front themselves.
After the break Junior brought another great save out of Tyron with a bullet of a header, but PSV made sure they fought straight back and Stijn Schaars forced Oliver Zelenika to dirty his gloves for the first time.
It was certainly a more even second half and Memphis Depay was not far away for the visitors, before he and Junior traded efforts as the game opened up.
Zagreb were then left kicking themselves as they passed up three opportunities inside the 71st minute.
Junior had the first, hitting off target, with Duje Cop following up and going away from goal before Josip Pivaric made it a hat-trick of misses from the edge of the box.
They would not get a better chance after that and the game trickled to its end.