Ronald Koeman's Feyenoord could have temporarily moved above Ajax and PSV Eindhoven with victory and even a point would have seen them go second.
But Alfred Finnbogason gave Heerenveen an 85th-minute lead before Yassine El Ghanassy ensured there was no way back for Feyenoord a minute from time.
Wout Brama's 83rd-minute strike rescued a 1-1 draw for FC Twente against NAC, who took the lead just after half-time through Kenny van der Weg.
Bottom club Willem II let a one-goal lead slip as their hopes of beating the drop took another blow with a 2-1 defeat at home to FC Groningen.
The hosts looked set for a rare win following Rob Haemhouts' strike in the 27th minute but a penalty after 66 minutes from Leandro Bacuna levelled matters before David Texeira sealed victory for Groningen shortly afterwards.
Two goals in 16 minutes set FC Utrecht on the way to a 2-1 victory over VVV.
Edouard Duplan opened the scoring in the fifth minute before Leon de Kogel doubled the hosts' lead, with Brian Linssen's effort before half-time proving mere consolation.