FC Twente secured their place in the KNVB Beker final with a narrow win over 10-man FC Utrecht.
Marc Janko netted the all-important goal in the 77th minute just when it looked like Utrecht had done enough to hold on for extra-time after they had Tim Cornelisse sent off after just 20 minutes.
Twente await the winners of tomorrow's semi-final between Ajax and RKC Waalwijk.
Utrecht created their first chance after nine minutes when Dries Mertens went on a solo run down the left, beating two Twente players before drilling a shot from 15 yards wide of the right post.
Twente went even closer soon afterwards when Nacer Chadli's powerful free-kick took a deflection and went inches wide of the right post.
Utrecht were reduced to 10 men after 20 minutes when Cornelisse was booked for a second time in quick succession, ordered off after an elbow on Luuk De Jong.
The 10 men created the next opportunity when Ricky van Wolfswinkel met Kevin Strootman's free-kick from the left, but his header from 10 yards was caught by Twente goalkeeper Sander Boschker.
Twente soon started to take charge of the game and should have gone ahead after 36 minutes when Bart Buysse's cross found Janko and his right-footed shot came back off the post.
De Jong followed up but could only hit his shot low against Utrecht goalkeeper Michel Vorm.
Twente continued to look the stronger side, but Utrecht had a terrific chance midway through the second half when Mertens was released behind the home defence.
However Boschker rushed off his goal-line to meet him and was able to deny Mertens with his legs just outside the penalty area.
Twente's Rasmus Bengtsson had a header tipped over, before Janko headed a corner from Theo Janssen against the crossbar from six yards.
The goal Twente had been threatening arrived after 77 minutes when Ola John crossed from the left and De Jong laid the ball back to Janko who fired low into the right corner.
Janko could have stretched Twente's lead after 86 minutes but headed wide from John's cross.