South Africa (24) 37
Bryan Habana took his try tally for the tournament to eight
Tries: Du Preez, Habana 2, Rossouw
Cons: Montgomery 4
Pens: Montgomery 3
Argentina (6) 13
Tries: M Contepomi
Cons: F Contepomi
Pens: F Contepomi 2
England will face a World Cup final reunion with their pool conquerors South Africa after the Springboks ended Argentina's glorious run in the semis.
Tries from Fourie du Preez, Bryan Habana and Danie Rossouw put the favourites into a 24-6 half-time lead.
The Pumas, for whom Felipe Contepomi landed two penalties, rallied with a converted try from his brother Manuel.
But Percy Montgomery, who kicked 17 points, landed two more penalties before Habana pounced again to seal it.
The jet-heeled winger intercepted a pass from Argentina's star fly-half Juan Martin Hernandez and raced 80m to score his eighth try of the tournament, overtaking the departed Wallaby wing Drew Mitchell's tally.
England are proving a lot of people wrong
Springboks skipper John Smit
Habana will present the biggest attacking threat to England's hopes of becoming the first country to retain the Webb Ellis Trophy next Saturday at the Stade de France.
The Springboks crushed the reigning champions 36-0 at the same venue a month ago, but England's startling progress since that dark hour should ensure an enthralling finale to a scintillating World Cup.
Argentina, who have done so much to enliven the tournament, started full of vim and vigour, driving the Boks back in the scrum and winning the territorial battle through the booming boot of Hernandez.
But they found themselves behind in the seventh minute.
Du Preez grabbed the opening try
Left wing Horacio Agulla cantered up the touchline to set up a promising attacking position inside the Springboks half, but Felipe Contepomi's pass was intercepted by Du Preez, who sprinted 70m to score.
Montgomery converted, and the World Cup's top points-scorer landed a penalty to make it 10-3 after Contepomi had punished Springboks captain John Smit for obstructing Agustin Pichot off the ball.
Argentina continued to look the more threatening side, but a string of errors spoiled their better work, while Contepomi missed a further penalty opportunity.
But he did punish an ill-advised counter attack from Francois Steyn just before the half-hour, when the Springboks centre was penalised for holding on in the tackle, to make it 10-6.
Suddenly South Africa looked vulnerable, but the whole complexion of the game changed in the 10 minutes before the interval.
Schalk Burger started the process by ripping the ball away from Pumas number eight Gonzalo Longo, and the Springboks pounced on the turnover with alacrity.
Steyn, showing his better qualities, quickly spread the ball wide with a 40m pass, where Victor Matfield put Habana into space.
Sizing up the situation in a flash, the world's deadliest finisher chipped ahead past his opposite number Lucas Borges and four Pumas forwards.
Argentina's only hope was an unkindly bounce of the ball, but Habana swiftly gathered and streaked away to the line.
Montgomery converted and suddenly South Africa, from being under pressure, enjoyed the comfort of a 17-6 lead.
Hernandez was unable to escape the Springbok shackles
That became 24-6 with the final action of the half, and again Argentina had a hand in their own downfall.
The otherwise impressive Hernandez spilled a pass forward after Du Preez sent up a box-kick, and Steyn, Jaque Fourie and Burger combined to send number eight Rossouw over, Montgomery adding the extras.
That appeared to have settled the outcome, but Argentina rallied on the resumption and gave themselves a glimmer of hope with a try from Manuel Contepomi.
The centre appeared to have lost control of the ball over the line but after considering all the angles, English video referee Tony Spreadbury awarded the score.
Felipe Contepomi's conversion made it 24-13, and the Pumas briefly threatened to make a closer contest of it.
We gave everything and I'm very proud of the boys
Pumas captain Agustin Pichot
But Contepomi missed a shot at goal after 53 minutes, and when Ignacio Corleto opted to run another kickable penalty on the hour and was then turned over, the game was up.
Habana had a try ruled out after JP Pietersen's pass was correctly ruled forward, but Montgomery landed the first of two clinching penalties in the 71st minute.
And with five minutes left, Habana showed his stunning speed again to put the issue beyond doubt.
Argentina's frustration surfaced late on as Felipe Contepomi was sin-binned for a petulant slap, moments after Springboks flanker Juan Smith was yellow-carded for a high tackle.
But that will be far from the abiding memory of the Pumas' contribution to this World Cup, while the Springboks head to the final as the only unbeaten side left.
South Africa: Montgomery; Pietersen, Fourie, Steyn, Habana; James, Du Preez; Du Randt, Smit (capt), Van der Linde, Botha, Matfield, Burger, Smith, Rossouw.
Replacements: B du Plessis, J du Plessis, Muller, Skinstad, Pienaar, Pretorius, Olivier.
Argentina: Corleto; Borges, M Contepomi, F Contepomi, Agulla; Hernandez, Pichot (capt); Roncero, Ledesma, Scelzo, CI Fernandez Lobbe, Albacete, Ostiglia, JM Fernandez Lobbe, Longo Elia.
Replacements: Basualdo, Hasan, Kairelis, Leguizamon, Fernandez Miranda, Todeschini, Tiesi.
Referee: Steve Walsh (New Zealand)