The South Americans pounced on a German team who only squeezed into the semi-finals by scoring three times in the closing five minutes to beat New Zealand in the last-eight, 3-2.
Defender Gonzalo Peillat hit a hat-trick of penalty corners with Joaquin Menini and Lucas Vila giving Argentina a 5-0 lead.
Menini's 35th minute goal was the pick of the bunch for an Argentina team who will win their first medal in men's hockey.
Agustin Mazzilli escaped a defender to lift the ball over German goalkeeper Nicolas Jacobi for his teammate to tap home.
Also Read
"We watched a lot of videos of the Germans before this game. We had three corners in the first part of the game and then we scored three-from-three so it was good, happy," said 24-year-old Peillat.
Moritz Furste and Christopher Ruhr scored late consolation strikes for Germany.
Argentina were also indebted to goalkeeper Juan Vivaldi who pulled off 10 saves in total.
"We didn't play our best hockey today, that's for sure," admitted Furste.
"They defended well, they scored three corners, that just can't happen. After that it was very difficult for us to come back into the game.
Argentina, ranked at seven in the world, have already surpassed their best previous Olympic performance of a fifth-place finish at the 1948 Games in London.
Four years ago, in London again, they were 10th.
In the final they will face the Netherlands, who were Olympic champions in 1996 and 2000 and silver medallists in 2012, or Belgium.
The European neighbours play their semi-final later Tuesday.
Disclaimer: No Business Standard Journalist was involved in creation of this content