Feyenoord claimed their first Dutch Eredivisie title in 18 years after a hat trick from 36-year-old Dirk Kuyt on the final day of the season.
Needing a win at home to Heracles to ensure they would win the trophy ahead of Ajax, Kuyt fired them into the lead after just 33 seconds. It was the Netherlands international's 100th Feyenoord goal and strike No. 101 followed after 12 minutes as any nerves were settled early on.
Fireworks saw the celebrations start early for Giovanni van Bronckhorst's team before Kuyt scored his hat trick from the penalty spot on 84 minutes, before Peter van Ooijen got one back to end the game 3-1.
Ajax, the 33-times champions, were poised to pounce if Feyenoord slipped up.
The Europa League finalists named the youngest starting line-up in the 61-year history of the Eredivisie, with an average age of 20 years and 139 days.
They won 3-1 at Willem II but had to settle for the runners-up spot as Feyenoord succeed PSV Eindhoven as champions.
Ajax led 1-0 at half-time through Kasper Dolberg's strike and Davinson Sanchez doubled the lead three minutes into the second half. Davy Klaassen added a third, with Jari Schuurman netting for Willem II.
Third-placed PSV Eindhoven completed their campaign with a 4-1 win over PEC Zwolle. Hector Moreno, Santiago Arias, Sam Lammers and Bart Ramselaar were on target as PSV scored four times in the final 12 minutes to answer Ted van de Pavert's first-half opener.
Roda JC fell into the relegation play-off spots after a 3-0 loss at Vitesse Arnhem, who finished fifth. Ricky van Wolfswinkel scored twice and on-loan Chelsea forward Lewis Baker added a late third, while Roda had Mitchell Paulissen sent off.
Martin Pusic scored twice as Sparta Rotterdam climbed above Roda with a 3-1 win at relegated Go Ahead Eagles.
NEC Nijmegen won 2-0 at Heerenveen to also leapfrog Roda, with Arnaut Groeneveld and Taiwo Awoniyi on target. However, it was not enough to lift them out of the bottom three and they also face a relegation play-off.
Fourth-placed FC Utrecht won 3-2 at sixth-placed AZ Alkmaar; seventh-placed FC Twente lost 5-3 to FC Groningen, who finished two points behind them in eighth. Oussama Idrissi scored twice for the visitors, who led 4-1 at half-time.
ADO Den Haag claimed a 4-1 win over Excelsior. Sherlado Becker, Mike Havenaar, Abdenasser El Khayati and Wilfried Kanon were on target for the hosts.