Jozy Altidore and AZ Alkmaar stunned Ajax on Wednesday evening to set up a clash with PSV Eindhoven in the KNVB Beker final.
United States international Altidore scored twice in a 3-0 win at the Amsterdam Arena as AZ, struggling in the Eredivisie, sprung a major cup upset.
Altidore netted the opening goal in the 74th minute after good work from Adam Maher, then set up substitute Johann Berg Gudmundsson to double the lead, before firing in AZ's third in stoppage time.
AZ will now look to topple PSV in the final on May 9.
Earlier, teenager Jurgen Locadia fired a hat-trick as PSV beat PEC Zwolle 3-0.
The 19-year-old was due to fill his usual role as a substitute but was promoted to the starting line-up due to Tim Matavz falling ill.
And he responded to the call in match-winning fashion, with his second hat-trick for the club.
The first treble from Locadia came as a substitute on his debut in the Eredivisie clash with VVV-Venlo in September.
He had managed only two since, but soon added to his tally tonight, applying a close-range finish in the 16th minute after Mark van Bommel and Georginio Wijnaldum set up the chance.
Wijnaldum made space in midfield to slip through a neat pass to allow Locadia to drive in his second goal, left-footed, in the 34th minute.
And the pace of Locadia undid the Zwolle defence five minutes from time as he broke beyond the backline and slid home a low right-footed shot to complete the treble.