Det var en gang en konge som hadde tolv døtre, hver av dem vakrere enn den andre. De sov alle sammen i ett kammer, hvor sengene deres sto side om side, og hver natt når de var i dem, låste kongen døren og slo den igjen. Men om morgenen, da han låste opp døren, så han at skoene deres var slitt ut av dansen, og ingen kunne finne ut hvordan det hadde skjedd. Så lot kongen det bli kunngjort at den som kunne finne ut hvor de danset om natten, skulle velge en av dem til kone og bli konge etter sin død, men at den som kom frem og ikke hadde oppdaget det innen tre dager og netter, skulle ha forspilt livet sitt. Det tok ikke lang tid før en kongesønn presenterte seg og tilbød seg å påta seg foretaket. Han ble godt mottatt, og om kvelden ble han ført inn i et rom ved siden av prinsessenes sovekammer. Sengen hans ble plassert der, og han skulle se hvor de gikk og danset, og for at de ikke skulle gjøre noe hemmelig eller dra bort til et annet sted, ble døren til rommet deres stående åpen.
Men prinsens øyelokk ble tunge som bly, og han sovnet, og da han våknet om morgenen, hadde alle tolv vært på dansen, for skoene deres sto der med hull i sålene. Den andre og tredje natten falt den likevel ut, og så ble hodet hans hugget av uten nåde. Mange andre kom etter dette og tok fatt på foretaket, men alle mistet livet.
Nå skjedde det at en stakkars soldat, som hadde et sår og ikke lenger kunne tjene, befant seg på veien til byen der kongen bodde. Der møtte han en gammel kvinne, som spurte ham hvor han skulle. «Jeg vet knapt selv,» svarte han, og la spøkefullt til: «Jeg hadde litt lyst til å finne ut hvor prinsessene danset skoene sine ned i hullene og dermed ble konge.» «Det er ikke så vanskelig,» sa den gamle kvinnen, «du må ikke drikke vinen som blir servert deg om natten, og du må late som du sover dypt.»
Med det ga hun ham en liten kappe og sa: «Hvis du tar på deg den, blir du usynlig, og da kan du stjele etter de tolv.» Da soldaten hadde fått dette gode rådet, gikk han inn i saken for alvor, tok mot til seg, gikk til kongen og annonserte seg selv som frier. Han ble like godt mottatt som de andre, og kongelige klær ble påkledd ham. Han ble ført inn i forværelset den kvelden ved leggetid, og da han skulle til å legge seg, kom den eldste og brakte ham et beger med vin, men han hadde bundet en svamp under haken og latt vinen renne ned i den uten å drikke en dråpe.
Så la han seg ned, og da han hadde ligget en stund, begynte han å snorke, som om han var i den dypeste søvn. De tolv prinsessene hørte det og lo, og den eldste sa: «Han kunne like gjerne ha reddet livet sitt.» Med det reiste de seg, åpnet garderober, skap og tok frem pene kjoler; kledde seg foran speilene, sprang rundt og frydet seg over utsiktene til dansen. Bare den yngste sa: «Jeg vet ikke hvordan det er; du er veldig glad, men jeg føler meg veldig merkelig; en ulykke er sannelig i ferd med å ramme oss.» «Du er en gås, som alltid er redd,» sa den eldste. «Har du glemt hvor mange kongesønner som allerede har kommet hit forgjeves? Jeg hadde knapt noe behov for å gi soldaten en soveslurk, uansett ville ikke klovnen ha våknet.» Da de alle var klare, så de nøye på soldaten, men han hadde lukket øynene og rørte seg ikke, så de følte seg helt trygge.
Den eldste gikk så bort til sengen hennes og banket på den; den sank straks ned i jorden, og den ene etter den andre gikk de ned gjennom åpningen, den eldste først. Soldaten, som hadde sett på alt, nølte ikke lenger, tok på seg den lille kappen sin og gikk sist ned med den yngste. Halvveis ned trappen tråkket han bare litt på kjolen hennes; hun ble livredd og ropte: «Hva er det? Hvem drar i kjolen min?» «Ikke vær så dum!» sa den eldste, «du har fanget den på en spiker.» Så gikk de helt ned, og da de var nede, sto de i en vakker allé med trær, hvor alle bladene var av sølv og skinte og glitret. Soldaten tenkte: «Jeg må ta med meg et tegn,» og brakk av en kvist fra en av dem, hvor treet sprakk med et høyt brak. Den yngste ropte igjen. «Noe er galt, hørte du smellet?» Men den eldste sa: «Det er en kanon avfyrt av glede, fordi vi har blitt kvitt prinsen vår så raskt.»
Etter det kom de inn i en allé hvor alle bladene var av gull, og til slutt inn i en tredje hvor de var av skinnende diamanter. Han brøt av en kvist fra hver av dem, som lagde en slik sprekk hver gang at den yngste skvatt tilbake i redsel, men den eldste hevdet fortsatt at det var salutter. De gikk videre og kom til en stor innsjø hvor det sto tolv små båter, og i hver båt satt en vakker prins, som alle ventet på de tolv, og hver tok en av dem med seg, men soldaten satte seg ved siden av den yngste.
Så sa prinsen hennes: «Jeg kan ikke forstå hvorfor båten er så mye tyngre i dag. Jeg må ro av all min kraft hvis jeg skal komme over.» «Hva annet enn det varme været? Jeg føler meg også veldig varm.» På den andre siden av innsjøen sto et praktfullt, sterkt opplyst slott, hvorfra den gledelige musikken fra trompeter og kedeltrommer runget. De rodde dit, gikk inn, og hver prins danset med jenta han elsket, men soldaten danset usett med dem, og da en av dem hadde et beger med vin i hånden, drakk han det opp, slik at begeret var tomt da hun bar det til munnen. Den yngste ble skremt av dette, men den eldste fikk henne alltid til å tie stille.
De danset der til klokken tre om morgenen, da alle skoene var danset ned i hull, og de ble tvunget til å dra. Prinsene rodde dem tilbake over innsjøen, og denne gangen satte soldaten seg ved siden av den eldste. På bredden tok de farvel med prinsene sine og lovet å komme tilbake natten etter. Da de nådde trappen, løp soldaten foran og la seg i sengen sin. Da de tolv hadde kommet sakte og slitne opp, snorket han allerede så høyt at alle kunne høre ham. De sa: «Hva ham angår, er vi trygge.»
De tok av seg de vakre kjolene sine, la dem bort, satte de slitte skoene under sengen og la seg ned. Neste morgen var soldaten fast bestemt på å ikke snakke, men å se på de fantastiske hendelsene, og gikk med dem igjen. Så ble alt gjort akkurat som det hadde blitt gjort første gang, og hver gang danset de til skoene var slitt i stykker.
Men tredje gang tok han med seg en kopp som et tegn. Da timen var kommet for at han skulle gi svaret sitt, tok han de tre kvistene og koppen og gikk til kongen, men de tolv sto bak døren og lyttet etter hva han skulle si. Da kongen spurte: «Hvor har mine tolv døtre danset skoene sine i stykker i natt?», svarte han: «I et underjordisk slott med tolv prinser», og fortalte hvordan det hadde skjedd, og tok frem tegnene.
Kongen kalte så døtrene sine til seg og spurte dem om soldaten hadde fortalt sannheten, og da de så at de var forrådt, og at løgnen ikke ville være til noen nytte, var de tvunget til å tilstå alt. Deretter spurte kongen hvem av dem han ville ha til kone? Han svarte: «Jeg er ikke lenger ung, så gi meg den eldste.»
Så ble bryllupet feiret på samme dag, og kongeriket ble lovet ham etter kongens død. Men prinsene var forhekset i like mange dager som de hadde danset netter med de tolv.