PSV took the lead in the 1st minute, but Bradley ensured his team the away tie in the 52nd minute when he stroked home a headed pass from 10 yards.
It was the sixth straight game Bradley has scored for Heerenveen.
Ajax's 2-1 loss at Roda JC meant that Heerenveen moved into second place, ahead of Ajax on goal difference and nine points behind PSV.
Clint Mathis, who joined last-place Greek first division club Ergotelis from the Los Angeles Galaxy in the MLS offseason, scored in his home debut after coming on as a 72nd-minute sub.
Mathis' stoppage-time goal earned Ergotelis a 2-2 tie against Apollon Kalamarias, which is also fighting against relegation.