(CNN) -- The Netherlands reached their third World Cup final with a 3-2 win over Uruguay in a dramatic semifinal in Cape Town on Tuesday.
The Dutch will play the winners of the second semifinal between Germany and Spain for the ultimate prize in football at Soccer City on Johannesburg on Sunday.
Second-half goals from Wesley Sneijder and Arjen Robben put the Dutch 3-1 up but Maxi Pereira summed up the never-say-die spirit of the Uruguayans with an injury-time strike to ensure a frantic finish.
Dutch coach Bert van Marwijk was proud of his team, who have won all six matches in the finals, the best record of any side.
"It's amazing that we have managed to do this. It's been 32 years (that the Netherlands last played in a final). It is unbelievable. We can be very proud for such a small country," he told AFP.
His 35-year-old captain Giovanni van Bronckhorst put the Netherlands ahead after 18 minutes with probably the goal of the tournament, a stunning 30 meter strike which whistled past Uruguay goalkeeper Fernando Muslera.
But Diego Forlan, the Uruguay captain on the night, equalized shortly before halftime with a long-range effort that eluded Dutch goalkeeper Maarten Stekelenburg, his fourth goal of the World Cup.
The second half burst to life just after the hour mark as first Sneijder's shot found its way through a sea of legs to beat Muslera for his fifth of the tournament.
In the 73rd minute, Robben headed home Dirk Kuyt's cross to make it 3-1.
Robben might have added a fourth and his third of the finals on a swift counter attack but he was denied by Muslera.
It looked academic, but the last South American team in the tournament conjured up a late goal as Pereira scored with a low curling shot.
In a desperate finale, Uruguay threatened an equalizer, but it is the Dutch who go into an all-European final.
They were previous losing finalists in 1974, to West Germany, and 1978 against Argentina.
Germany play European champions Spain in Durban on Wednesday.