PSV Eindhoven progressed through to the KNVB Beker final with a 3-1 semi-final victory over Heerenveen.
PSV defeated the same opponents 5-1 in the league at home on Sunday and they were triumphant again on Wednesday thanks to goals from Zakaria Labyad, Georgino Wijnaldum and Tim Matavz.
Heerenveen had levelled the scores through Viktor Elm midway through the first half, but they were sunk by two PSV goals in five minutes at the start of the second period before then missing a late penalty as the Eindhoven club set up a final showdown against either AZ Alkmaar or Heracles Almelo.
PSV threatened first with Matavz firing just over in the 17th minute before Heerenveen immediately responded with a good chance of their own, PSV keeper Przemyslaw Tyton doing well to smother before Bas Dost could finish off Filip Djuricic's cross.
Tyton then denied Elm before PSV took a 23rd-minute lead through the unmarked Labyad, who slotted in Jeremain Lens' ball from the left.
The visitors were only ahead for 11 minutes though as Heerenveen drew level when Elm headed home Luciano Narsingh's right-wing corner.
Neither side could make anymore in-roads before the break, but PSV started the second half in barnstorming fashion to book their spot in the final.
There was just 30 seconds on the clock when the away team re-took the lead, Wijnaldum finishing off Erik Pieters' pass with a 15-yard shot into the left-hand corner of the net.
Then, four minutes later, PSV made it 3-1 when Lens' ball in was tucked home from close range by Matavz.
With their final hopes disappearing, Heerenveen battled hard to get back into the game and Ramon Zomer hit the PSV post with a header before Tyton did well to keep out another header from the same player in the 66th minute.
The hosts were then given a great chance to reduce the deficit when they were awarded a 79th-minute penalty following a foul by Wilfred Bouma on Jeffrey Gouweleeuw, but Dost's effort was saved by Tyton as Heerenveen tumbled out.