Sergio Romero the hero as Argentina and Messi head to the final after penalty drama
Argentina are just 90 minutes away from lifting the World Cup in the Maracana after they edged past Holland on penalties in Wednesday's semi-final at the Arena Corinthians.
After a dull, uneventful and goalless 120 minutes, the match went to a penalty shootout in Sao Paulo.
Argentina did not miss once and Sergio Romero saved from Ron Vlaar and Wesley Sneijder, meaning Alejandro Sabella's team clinched the showdown 4-2.
Argentina will now face Germany in Sunday's World Cup final at the Maracana - the spiritual home of their fierce rivals Brazil, who were brutally knocked out by Germany on Tuesday night.
The last time the Argentines made it through to the final in 1990, they lost to the Germans.
Germany, who battered Brazil 7-1 in Belo Horizonte, will take encouragement from watching this performance from Sabella's side.
Lionel Messi scored one of the penalty kicks, but he was otherwise quiet and Argentina failed to impress all night.
Louis van Gaal did well to snuff out Messi during normal time, but his team were also devoid of ideas in attack.
Van Gaal will now take charge of Holland in Saturday's third-place play-off against the hosts before flying to England to take over at Manchester United.
The Dutchman may regret deciding against bringing on Tim Krul, who saved two penalties against Costa Rica in the previous round, as Jasper Cillessen was easily beaten from 12 yards.
After a mad opening half an hour in Belo Horizonte on Tuesday, both teams started cautiously on a cold night.
Messi drilled a low free-kick right at Cillessen and Ezequiel Garay headed just over for Argentina, but nothing else of note happened in the first period.
After the break, Argentina briefly upped the tempo. Vlaar blocked Messi as he advanced towards goal and substitute Daryl Janmaat denied Gonzalo Higuain.
Nigel de Jong, a surprise starter, was struggling to keep up with the game and he came off for Jordy Klasie with 28 minutes left.
Lucas Biglia and Janmaat both needed treatment after sliding into each other in a nasty challenge that made Argentina coach Sabella wince on the touchline.
There was no inkling of a goal until the final minute of normal time when Enzo Perez dashed down the right and delivered a pinpoint low cross to Higuain, who turned the ball inches wide.
The Argentina fans who saw the net ripple thought they had finally seen a goal, but the referee awarded a goal-kick.
That proved to be Higuain's last contribution as he was replaced by Sergio Aguero. Sabella also threw on Rodrigo Palacio to boost his attack.
A few errant tackles started flying in as the game became sloppy. Martin Demichelis, already on a booking, took out Robben but the referee kept his cards in his pocket.
All of a sudden Holland were presented with a chance to win the game.
Sneijder glanced a diagonal pass into the path of Robben, but luckily for Argentina, Mascherano came to the rescue and the game went to extra-time.
In the 98th minute Holland mustered their first shot on target, an effort from Robben that flew into Romero's hands.
In his final substitution, Van Gaal brought Klaas-Jan Huntelaar on for Robin van Persie, meaning Krul would not be allowed on for the inevitable penalty shootout.
Cillessen jangled the nerves of the Holland fans when he performed an audacious turn to wriggle away from the advancing Aguero at the start of the second half of extra-time.
Sabella was incensed with Palacio when he tried - and failed - to head over Cillessen from 10 yards in the dying minutes of extra-time.
Dirk Kuyt fluffed a good chance at the other end and the match went to penalties.
Romero saved straight away from Vlaar.
Messi, Garay and Aguero found the net while Romero saved to his right from Sneijder.
Dirk Kuyt slotted Holland's fourth penalty away, but Maxi Rodriguez then beat Cillessen to send Argentina through to the final.