Feyenoord came from a goal down to reach the final of KNVB Beker with a 2-1 victory over FC Twente at De Kuip on Wednesday.

Bryan Ruiz fired the Enschede outfit into the lead just before half-time but second-half goals from captain Giovanni van Bronckhorst and substitute Roy Makaay were enough to put Mario Been's side into the final, where they will face Ajax or Go Ahead Eagles.

Costa Rica international Ruiz, Twente's top scorer this season, was the most dangerous man on the field and he made a bright start as he wriggled between two defenders to go through on goal but he could not find the target when he pulled the trigger.

The visitors continued to create the better chances as Luuk de Jong played Theo Janssen in on goal but Feyenoord keeper Erwin Mulder made the save. But the opener finally came in the 41st minute when Georginio Wijnaldum's mistake gifted possession to Twente, with Janssen's stabbed pass allowing Ruiz to coolly slot home.

The hosts made a much-improved start to the second half as Ron Vlaar drove over the bar. Substitute Makaay's first major action was to get involved in the move that led up to Feyenoord's 51st-minute equaliser.

The veteran forward fed an excellent ball to midfielder Denny Landzaat, whose cushioned header allowed Van Bronckhorst to slot home. The former Netherlands international went close to getting his second soon after but his long-range strike just whistled past the post. And the winner came with just six minutes to play as Leroy Fer great run and cross from the left allowed Makaay to score.