Ytterligare 130 personer skadades i det som myndigheterna sade var en "överlagt, våldsam terroristattack".
Fyra misstänkta sköts till döds, en greps och andra söker Xinhua.
Stadstjänstemän sade bevis inblandade militanter från den västra regionen Xinjiang, men detta var inte verifierat.
President Xi Jinping och premiärminister Li Keqiang har skickat kondoleanser till offren och deras familjer.
President Xi uppmanade till "allomfattande insatser" för att undersöka attacken.
"Svårt straffa i enlighet med lagen de våldsamma terroristerna och resolut slå ner på dem som har svullen av arrogans", Xinhua citerade presidenten som säger.
Vittnena sade att männen, som till största delen var klädda i svart, anföll människor slumpmässigt.
En överlevande vid namn Yang Haifei, som skadades i ryggen och bröstet, berättade för Xinhua att han hade köpt en tågbiljett när angriparna rusade in på stationen.
"Jag såg en person komma rakt mot mig med en lång kniv och jag sprang iväg med alla", sade han.
Han tillade att de som var för långsamma för att fly blev nedskurna.
Några som flydde sökte desperat efter saknade nära och kära.
Yang Ziqing berättade Xinhua hon och hennes man hade väntat på ett tåg till Shanghai "när en knivvridande man plötsligt kom på dem".
"Jag kan inte hitta min man, och hans telefon gick obesvarad", sade hon.
Sociala medier användare i Kina postade bilder av attacken på internet, men korrespondenter säger att de tas ner.
Bilder från BBC visar att män och kvinnor ligger på golvet i blodpölar efter attacken.
Kunming tjänstemän, citerade av Xinhua, senare sade att bevis på platsen visade att det var "en terroristattack som genomfördes av Xinjiang separatistiska styrkor".
Xinjiang är hem för den muslimska uigur minoritetsgruppen som har en lång historia av oenighet med kinesiska myndigheter.
Det statliga TV-bolaget CCTV sade att den högsta säkerhetstjänstemannen Meng Jianzhu skulle resa till Kunming för att övervaka hanteringen av utredningen.
En attack av knivvridande män på en järnvägsstation i Kunming i sydvästra Kina har lämnat minst 29 döda, säger den statliga nyhetsbyrån Xinhua.