Argentina goalkeeper Sergio Romero saved Ron Vlaar's first penalty then made a superb diving save to deny Wesley Sneijder, allowing Maxi Rodriguez to crash home the decisive kick as his side converted all four of their penalties.
The game was a forgettable one as the Dutch struggled to build any meaningful attacks and completed 90 minutes without a shot on target as Arjen Robben's last-minute effort was brilliantly blocked by Javier Mascherano.
Argentina were not much more adventurous and had only a handful of half-chances to their name as, in total contrast to Tuesday's match when Germany waltzed through a wide open Brazil to win 7-1, both defenses were absolutely on top.
In Sunday's final at the Maracana in Rio de Janeiro Argentina will play Germany in a repeat of the 1986 and 1990 finals - the first time the same two teams will have faced each other three times in the decider.
The Netherlands will play Brazil in the third-place playoff in Brasilia on Saturday.