In a cagey first period, PSV went close through Guus Til, but it was their rivals who got their noses in front just before half time.
Steven Bergwijn's shot was deflected into the net off PSV defender Jarrad Branthwaite, ensuring Ajax took a narrow lead into half time.
Borussia Dortmund loanee Thorgan Hazard came off the bench to restore parity in the 67th minute and send the final to extra time.
With neither side able to find the winner in an additional 30 minutes, a penalty shootout was required, where PSV prevailed by a 3-2 scoreline to win the KNVB Beker for a second season in a row.
Those in attendance for the showpiece occasion had to be patient as a fiery but cagey first half did not produce a meaningful chance until the 25th minute.
When the first opportunity did arrive, it fell the way of Johan Bakayoko, who could only send his left-foot strike wide of Geronimo Rulli's near-post.
The Ajax goalkeeper may have watched Bakayoko's effort fizz wide, but he was required to thwart Til, who found himself in a promising one-on-one situation after Davy Klaasen had been disposed of in his own half.
Til was made to rue his missed opportunity, as Ajax took the lead moments before the interval when Branthwaite inadvertently directed Bergwijn's shot past his own goalkeeper.
Ruud van Nistelrooy's side thought they had found the leveller through Andre Ramalho within nine minutes of the restart, but the offside flag cut celebrations short.
Within moments of having a goal disallowed, Ajax missed the chance to double their advantage when Brian Brobbey struck the post after rounding the goalkeeper.
As PSV continued their search for an equaliser, Van Nistelrooy summoned Anwar El Ghazi and Hazard from the bench, and it proved to be an inspired decision as the latter pulled his side level in the 67th minute.
Xavi Simons created the space to send a low cross into the centre of the box, where Hazard was on hand to score his second goal for the club.
Brobbey looked to put his side back in front, but his effort from the edge of the box whistled wide, ensuring the final went to extra time.
The additional 30 minutes passed by without much fuss, but there was drama in the subsequent penalty shootout where five spot-kicks were missed between the two sides.
After Edson Alvarez had Ajax's fifth penalty saved, Fabio Silva kept his cool to score the winning spot-kick and clinch the silverware.