PSV Eindhoven retained the Eredivisie title after a dramatic final day saw them win 3-1 away to PEC Zwolle as rivals Ajax were held to a surprise 1-1 draw at relegation battlers De Graafschap.
Ajax went into Sunday's matches top of the table with a superior goal difference and would have been sure of a 34th Dutch championship with victory in Doetinchem over a team in 17th place.
The Amsterdam giants took the lead in the 16th minute through Amin Younes but were pegged back by a fine equaliser from Bryan Smeets 10 minutes into the second half which swung the balance of the title race once again.
PSV were crowned national champions for the 23rd time after a first-half goal from Jurgen Locadia (34) and a brace from captain Luuk de Jong (43 and 67) secured what was in the end a comfortable victory.
Zwolle midfielder Ouasim Bouy (66) had briefly put the hosts back in the contest.
— Memphis Depay (@Memphis) May 8, 2016
At the other end of the table Excelsior won 2-0 away at bottom club Cambuur with goals from Tom van Weert in the fourth minute and Kevin Vermeulen (59) to make sure they avoided dropping into the relegation play-offs.
Willem II, though, will still face a battle to retain their top-flight status despite winning 3-2 at Roda, as they finished in 16th place.
AZ Alkmaar finished in fourth after they won 3-1 at Utrecht and so will go direct into the Europa League qualifying rounds next season along with third-placed Feyenoord, who beat NEC Nijmegen 1-0 courtesy of a second-half goal from captain Dirk Kuyt at De Kuip.
Groningen secured eighth spot and a shot at the Europa League qualifying play-offs with a 2-1 home win over Heracles Almelo, as defender Rasmus Lindgren (53 & 64) scored twice in the second half.
Twente drew 2-2 with Vitesse while it finished 1-1 at the Kyocera Stadion between hosts Den Haag and Heerenveen.