A Bas Dost double took his Eredivisie tally to 30 for the season as Heerenveen moved into fourth place with a 4-2 victory in an exciting match away to Heracles Almelo.
Heerenveen also moved level on 61 points with AZ Alkmaar and Feyenoord in second and third, although they could slip back to sixth if FC Twente and PSV Eindhoven win their matches in hand on Sunday.
Heracles' own outside hopes of claiming a Europa League play-off place receded further with this defeat, while Heerenveen have now scored 11 times in winning their last three away league games.
Excelsior remained bottom of the Eredivisie as they threw away a two-goal lead to lose 3-2 at Vitesse Arnhem. The visitors looked set to move above De Graafschap when an own goal from Jan-Arie van der Heijden and a Roland Alberg effort put them 2-0 in front.
But Alexander Buttner pulled one back from the penalty spot in first-half injury time and, after Excelsior had Jordy van Deelen sent off in the 75th minute, levelled with another penalty 10 minutes from time. And worse was to come for the 10 men as Marco van Ginkel completed the Vitesse comeback two minutes into added time.
It was the second game running in which Excelsior had conceded a winner at the death following last weekend's defeat to FC Twente. The loss kept the visitors two points behind the relegation play-off places with just two games to go.
NAC Breda scored twice in the closing seconds to defeat FC Utrecht 3-1 and all-but guarantee their Eredivisie safety.
Frank Demouge put Utrecht ahead in the ninth minute and for a long time it looked as if Breda would take nothing from the game and remain in serious relegation trouble with two matches to go.
But Robbert Schilder equalised with 18 minutes left and then the visitors mustered their late surge as Alex Schalk netted in the 89th minute and Jeffrey Sarpong followed up in added time. The result leaves them six points ahead of third-bottom VVV-Venlo with a vastly superior goal difference