De All Blacks var fem poäng efter på halvtid med en man i sin-bin som fyra straff från Handre Pollard annullerade Jerome Kainos tidiga försök.
En Dan Carter-drop-goal och en Beauden Barrett försök sätta mästarna framåt.
Sydafrika svarade med två straff men en Carter ansträngning mellan säkrade seger trots våldsam Bok försvar.
Det var sällan vackert men än en gång i denna VM fanns det en gripande final, All Blacks håller att två-punkts bly för de senaste 12 minuterna som deras motståndare äntligen trött.
Inget lag har någonsin behållit Webb Ellis trofé, men All Blacks kommer att vara favoriter att göra det när de träffar antingen Australien eller Argentina nästa lördag efter att ha hittat sin väg genom ett brutalt möte.
Detta var inte alls som den fritt flödande anfallande rugbyn som hade utvisat Frankrike i kvartsfinalen, men på sitt eget sätt var det lika beundransvärt, som Sydafrika vägrade att spänna fast trots att man bara hade 43 procents innehav.
Spelet svängde i 20 minuter efter halvtid, Nya Zeeland börjar den perioden fem poäng ner och med Kaino utanför planen, men avslutar det fem poäng upp och med Springbok vingen Bryan Habana i sin-bin istället.
Och trots att Pat Lambie är ersättare för att leda till mindre än en poäng, klarade sig mästarnas stora erfarenhet igenom dem.
Efter Pollards tidiga straff, slog All Blacks tillbaka när Kaino dundrade genom De Jager ner till höger och rörde ner enhänt i hörnet, men ytterligare två pin-point straff från Pollard gav sin sida en tvåpunkts bly med 20 minuter borta.
Sydafrika hade betydande framgång vid sammanbrottet, Nya Zeeland frakt sex straff i kort ordning, och världsmästare letade i stället efter territorium, sparkar bakom försvaret och i hörnen.
Carter slog till mot posten med ett långdistansstraff, och trots att hans sida dominerade besittning och territorium fortsatte Springboks försvarsmur att hålla.
När Sydafrika till slut klarade sig ur sin hälft, slog de till igen. Kaino var synd-bined för att sparka bollen bort och Pollard slog över sin fjärde straff för att göra det 12-7 i intervallet, de gröna-skjorta supportrar i kapacitet publiken börjar tro att upprörd var på.
Springboks hade inte förlorat till All Blacks i 21 Tests när ledande eller nivå på halvtid, men trots att en man ner Nya Zeeland stängde gapet till två punkter som en trollformel av noggrant arbetade territorium var täckt med en Carter droppe-mål.
Schalk Burger förlorade sedan bollen meter från sin egen linje, All Blacks gick höger och körde vidare genom sina framåt innan Ma'a Nonu skickade ersättare Barrett dykning i hörnet.
Med Habana synd-bined för att knacka bollen från scrum-halv Aaron Smiths händer och Carter böjning över konverteringen för 17-12, verkade matchen ha vänt.
Pollard och Carter utbytte straff, och med ersättare strömmade på planen och regnet hammar ner de två tungviktarna gick tå till tå.
Pat Lambie kom på för Pollard att göra det 20-18 med 10 minuter kvar, och en luft av desperation var uppenbar i båda sidor.
Carter sprintade halva längden på planen för att klara sig från De Allende, Sydafrika misslyckades med att kapitalisera från en angripande line-out och Nya Zeeland flydde in i opposition territorium som sekunderna kröp förbi, kör klockan ner med en rad enheter för att fira med utmattning i slutet.
Ben Smith var oklanderlig under högklotet och Dan Carters beslutsfattande än en gång ostraffat.
Men för hans muskulösa, upprepade bär in en obevekligt fysisk match och den fantastiska kör och timing av pass för Beauden Barretts kritiska andra hälften försök, Ma'a Nonu förtjänar äran.
Nya Zeeland tränare Steve Hansen: "Det var alltid kommer att vara nära, de är en bra sida och de visade det igen. Jag var stolt över våra killar. De höll sig lugna.
"Vi behövde bara komma ut för andra halvan och börja ta spelet till dem snarare än att vänta på dem att ta det till oss. Vi pratade om det vid halvtid. Vi pratade om att behålla lugnet och pratade om att vinna de första 10 minuterna."
Sydafrika coach Heyneke Meyer: " Vår disciplin i andra halvan var helt enkelt inte tillräckligt bra. De klarade sig bättre med vädret i andra halvan. Disciplin var det viktigaste, särskilt under dessa regniga förhållanden.
"Vi ville göra vårt land stolt, men det gjorde vi inte. Vi borde ha dragit denna seger igenom, men alla krediter till All Blacks, de är en kvalitet sida. "
Sydafrika: Le Roux; Pietersen, Kriel, de Allende, Habana; Pollard, du Preez; Mtawarira, B. du Plessis, Malherbe; Etzebeth, de Jager; Louw, Burger, Vermeulen
Ersättningar: Serfontein för de Allende (80), Lambie för Pollard (66), Nyakane för Mtawarira (53), Strauss för B. du Plessis (53), J. du Plessis för Malherbe (60), Matfield för de Jager (60), Alberts för Burger (64)
Ej använd: Pienaar
Sin Bin: Habana (52)
Nya Zeeland: B. Smith; Milner-Skudder, C. Smith, Nonu, Savea; Carter, A. Smith; Moody, Coles, O. Franks; Retallick, Whitelock; Kaino, McCaw, Read
Ersättningar: Barrett för Milner-Skudder (49), Williams för Nonu (53), B. Franks för Moody (69), Mealamu för Coles (67), Faumuina för O. Franks (53), Cane för Kaino (67)
Ej använt: Vito, Kerr-Barlow
Sin Bin: Kaino (39)
Att: 80,090
Ref: Jerome Garces (Frankrike).
Reging mästare Nya Zeeland är i sin fjärde VM-final efter att ha slungat förbi Sydafrika i en annan Twickenham episk.