With a ticket for the UEFA Champions League qualifiers at stake, Ajax knew only a win would suffice in the battle with FC Twente and NEC, who were two and one point ahead before Sunday's 9-game slate.
After changing four names in his starting XI once again, Ajax interim manager Oscar Garcia started with Ko Itakura, Sean Steur, Davy Klaassen, and Wout Weghorst instead of Josip Sutalo, Youri Regeer, Oscar Gloukh, and Kasper Dolberg in a must-win game against Heerenveen.
It was a poor start for the Amsterdam giants, who proved to be of little threat to Heerenveen by recording just two shots at the 30-minute mark.
Anton Gaaei was responsible for Ajax's first big chance in the 37th minute, when the Danish back forced Bernt Klaverboer to deflect his fiery shot onto the crossbar with an excellent reflex.
The Amsterdam side picked up the pace in the final few minutes of the first half, with Sean Steur inches away from opening the score twice in a minute's time.
Heerenveen centre-half Sam Kersten came eerily close to scoring just the second goal of his professional career, but saw his surprising shot fly just wide of Maarten Paes' post.
Officiating controversy soon overshadowed the match, with Ajax's Lucas Rosa escaping a potential red card after hitting Oscar Braude's ankle, while Ajax were denied a penalty when Braude held onto Davy Klaassen's shirt.
Dramatic, soaked conclusion
As time ran out for Ajax to grab a European ticket, Steun Steur's shot ended in Klaverboer's hands, while Jacob Trenskow aimed his shot from inside the box just wide of the Amsterdam goal.
Shortly after coming on and after a cloudburst had hit the Abe Lenstra Stadion, Kasper Dolberg tested Klaverboer with a low shot, but could only create as much as a corner with ten minutes to go.

Maarten Paes nearly took on a negative role when he dropped the ball after a corner, but Ringo Meerveld and Dylan Vente both missed open chances to give Heerenveen a shock lead, while Trenskow fired his ball just over the bar shortly after.
Seconds after coming on, Argentinian youngster Maher Carrizo got in a one-on-one situation with Klaverboer, but he, too, failed to beat the Heerenveen stopper on an unplayable, soaked pitch. After Trenskow and Carrizo tried their luck some more, referee Joey Kooij blew for full-time.
Ajax will enter the Eredivisie play-offs and face FC Groningen in the semi-final next week.
