Sydkorea hade hämtat upp 0–2 till 2–2 när Kudus slog till.
Hans första kom på nick, nu använde han fötterna och sköt segermålet i 68:e minuten.
Ghana förlorade öppningsmatchen mot Portugal med 2–3 och var piskat att ta poäng mot Sydkorea för att ha chansen till avancemang kvar.
Det blev en trepoängare – men först efter stor dramatik.
Sydkorea pressade hårt sista kvarten, men fick inte till någon kvittering.
Ghana gick upp till andra plats i gruppen med tre poäng, samma som ledande Portugal. Uruguay och Sydkorea har en poäng.
Portugal och Uruguay möts i andra omgången på måndagskvällen.
Sydkorea tog tag i matchen från start, utan att för den skull skapa några heta lägen.
I stället small det för Ghana i 24:e minuten. Mohammed Salisu, Southampton, tryckte in bollen från nära håll efter en frisparksvariant som fastnade på armen på Andre Ayew framför mål. Men efter VAR-granskning bedömdes det inte som någon hands.
Tio minuter senare utökade Ghana till 2–0 då Mohammed Kudus nickskarvade inspelet från Ayew i mål.
Det tog drygt en halvlek innan Sydkorea började skapa målchanser, då kom också utdelningen.
Inhopparen Lee Kang-In stod för en imponerande bollvinst ute vid sidlinjen och slog ett perfekt inlägg som Cho Gue-Sung nickade i mål i 58:e minuten.
Tre minuter senare stormade Cho Gue-Sung fram och nickade till på nytt – och 2–2 var ett faktum.
Men sedan vände det på nytt och även Kudus blev tvåmålsskytt och Ghanas hjälte.