With the game unsettled at 1-1 after extra-time Arsenal goalkeeper Lehmann stepped up to save spot-kicks from Roberto Ayala and Esteban Cambiasso to ensure celebration parties across Germany.
A rare goal from 33-year-old defender Ayala four minutes after the interval put Argentina ahead and they held the lead until the 80th minute. But with the majority of the 72,000 fans driving them on Germany equalised with Miroslav Klose heading in his fifth goal of the finals.
Extra-time failed to seperate the teams and penalties were needed to decide the tie. Germany had won all three of their previous World Cup shoot-outs and converted all of their four penalties to march into the last four.
For two-time winners Argentina it was heartbreak and their emotions boiled over after the final whistle with several players involved in scuffles as tempers frayed.
Argentina coach Jose Pekerman made three changes to the team that beat Mexico in extra-time with the biggest surprise seeing Javier Saviola dropped to the substitutes bench for Carlos Tevez. Germany manager Jurgen Klinsmann, part of the West Germany side that beat Argentina 1-0 in the 1990 World Cup final, stuck by the same team that beat Sweden in the second round.
The hosts had scored after four minutes in each of their last two matches - although they did not manage an early breakthrough this time - and started off at a frantic pace to unsettle the Argentines. Argentina playmaker Riquelme created the first real danger in the game with his inswinging corner forcing a clearance at the near post.
In the 16th minute Germany had their first opening with Ballack latching onto a cross but he could only divert his header wide. With the game scoreless at half-time both managers had their players fired up for the second half and Argentina had Juan Sorin booked meaning he would miss the semi-final.
But Argentina stomached that blow and four minutes after the interval they took the lead through an unlikely source. Riquelme curled in a corner from the right and veteran Ayala, winning his 105th cap, powered in a header.
It was the first time Germany, who had kept three consecutive clean sheets, had gone behind in the tournament and they responded by piling forward. Ballack had a chance to equalise on the hour mark but Ayala was on hand to block the Germany captain's shot.
Maxi Rodriguez had a chance to wrap up the game on 66 minutes for Argentina but shot into the sidenetting. It was a costly mistake as Germany levelled in the 80th minute with substitute Tim Borowski flicking on a cross and Klose heading in.
Extra-time was needed and Fabricio Coloccini hit the crossbar with what what looked like a misdirected cross. The lottery of penalties was to decide the match. With home support and good past experiences Germany seemed the inevitable winner.