PSV reach Dutch Cup quarters
Hungarian Balazs Dzsudzsak (pictured) opened the scoring with a 16-metre shot after the Heerenveen defence failed to clear the ball in the 26th minute.
Ibrahim Afellay then set up Danko Lazovic for the second goal midway through the second half.
A superb lob from Gerald Sibon pulled one back for Heerenveen but in injury time Nordin Amrabat restored the two-goal lead for PSV, who are second in the Dutch league.
PSV now host Feyenoord, who handed the Eindhoven team their last defeat in March 2009, in the quarter-finals on January 27.
The league restarts on Sunday after a winter break with leaders Twente Enschede visiting Utrecht and Ajax Amsterdam travelling to NAC Breda.