ADO Den Haag and Heerenveen will join Vitesse and Utrecht in the play-offs for the last Europa League spot despite mixed fortunes on the final day of the regular Eredivisie season.
Bjorn Johnsen scored twice as Den Haag beat Roda JC 3-2 to leapfrog Heerenveen into seventh place after they suffered a last-gasp 3-2 defeat against Feyenoord.
But with PEC Zwolle slumping to a 6-0 defeat against AZ Alkmaar, Heerenveen claimed the final play-off spot.
Den Haag raced into a 3-0 lead before the break, as Johnsen netted his goals either side of Lex Immers' 23rd-minute effort.
The hosts launched a comeback in the second period - with Dani Schahin firing in after 56 minutes before Simon Gustafson scored from the penalty spot five minutes later - but Den Haag held on to secure the three points.
Heerenveen found themselves 2-0 down at the break as Steven Berghuis netted twice to put Feyenoord in front.
But Jordy Bruijn reduced Heerenveen's deficit in the 79th minute before an own goal from Jan-Arie van der Heijden one minute later levelled things up.
Feyenoord then snatched all three points late on when Bilal Basacikoglu scored a last-minute winner.
Alireza Jahanbakhsh finished as the league's top scorer on 21 goals after notching a hat-trick in AZ's stunning win over PEC Zwolle.
Wout Weghorst scored twice for the hosts while Fredrik Midtsjo got Alkmaar's other goal.
Champions PSV played out a goalless draw with Groningen while second-place Ajax beat Excelsior 2-1 courtesy of goals from Justin Kluivert and Kasper Dolberg.
Mateusz Klich scored the only goal as Utrecht beat VVV-Venlo 1-0, while Vitesse drew 2-2 at Willem II, with Tim Matavz and Chelsea loanee Matt Miazga scoring for the visitors and Konstantinos Tsimikas and Ben Rienstra getting the hosts' goals.
Vincent Vermeij scored twice as Heracles recorded a thumping 5-2 win against Sparta Rotterdam.
Sparta took the lead after 25 minutes through Fred Friday but they were not ahead for long, with Kristoffer Peterson pulling Heracles level one minute later.
Stijn Spierings put the hosts back in front after the break but two goals from Vermeij and efforts from Tim Breukers and Paul Gladon saw Heracles claim the points.
Already-relegated Twente drew 1-1 with NAC Breda after Dylan George cancelled out Menno Koch's opener.