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.
– Alla spelade på topp i dag. Jag vill tacka lagkamraterna, det är ett lagspel. Vi är fulla av självförtroende och vi ska fortsätta med samma mentalitet och intensitet, säger Kudus enligt NTB.
Ghana möter Uruguay i sista gruppspelsmatchen.
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.
Stor dramatik
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.
Het kapten stängs av
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.
Sydkoreas förbundskapten Paulo Bento fick rött kort efter slutsignalen då han protesterade över att hans lag inte hann lägga en hörna då tilläggstiden gått ut och domaren blåste av matchen.
Det innebär att han inte får leda laget från avbytarbänken i gruppavslutningen mot Portugal.