Pod hradem Krákorkou žila kdysi vdavekchtivá čarodějnice, která měla políčeno na čerta. Ale ten o ni nestál. Nejraději ze všeho seděl za komínem blízkého mlýna a pozoroval hezkou mlynářovu dceru Elišku. Vodníkovi, bydlícímu ve zdejším rybníce, se dívka také líbí. Ještě raději si však ze mlýna ukradne nějakou tu sladkost. – Mládenec Jindřich se o děvčata nezajímá a místo tancovačky raději s dětmi poslouchá babiččiny pohádky. Sní o tom, že jednou vysvobodí ze zakletí krásnou princeznu a vezme si ji za ženu. Otec mu marně vyčítá, že by se měl raději poohlédnout po nějakém hezkém venkovském děvčeti. Jindřich se rozhodne vydat se do světa hledat svou princeznu. – Cestou nasype buchtu mravencům a podělí se i s přátelskou liškou. Dá buchtu i babičce, sedící u cesty (ve skutečnosti ovšem proměněné čarodějnici). Ta za to mladíka přenese ke mlýnu; doufá ovšem, že se mládenci zalíbí Eliška a čertovi pak nezbude, než se začít starat o ni. Jindřich uvidí na hrázi zpívající mlynářovu dceru; když mu však vodník řekne, že krásná dívka je „jen“ ze mlýna, přestane ho zajímat. Jindřich dá vodníkovi poslední buchtu; ten mu poradí, aby požádal mlynáře o práci. Za tu dostane jídlo i nocleh. – Mlynář přičinlivého pomocníka přivítá s radostí; je už starý a ani s pracovitou Eliškou na všechno nestačí. Dívce se Jindřich líbí. Zato čert má na hezkého mládence vztek; potěší ho, když zjistí, že vetřelec ve mlýně míní přespat jen jednu noc. – Eliška chce, aby u nich Jindřich zůstal. Při večerní procházce na hrázi mu namluví, že v rybníce je zakletá princezna, která se zjevuje o úplňku. – Když mládenec ulehne ve stodole, čert se pustí do strašení. Na rozdíl od předešlých mlynářských pomocníků však Jindřich neuteče, nýbrž mu nabije. Skučícího pekelníka ujišťuje, že o Elišku nestojí; touží jenom po vznešené princezně. Ráno řekne mlynáři, že zůstane do úplňku. – Čert však není spokojený, protože si všiml, jak Eliška po novém čeledínovi zamilovaně pokukuje. Spěchá na radu za vodníkem. Když nepochodí, poprosí o pomoc čarodějnici. Ta se však urazí a vyžene ho. – Vodník s čertem zjistí, že Jindřich se chystá k prohlídce zřícenin hradu Krákorky. Rozhodnou se uchystat mládenci překvapení. S pomocí ukradené kouzelnické knihy se začarují do žáby a kočky. Mladík zvířata políbí a ta se skutečně promění v princezny, ale velmi ošklivé. Návštěvník naznačí, že si může odvést jen jednu nevěstu. „Princezny“ se jedna přes druhou začnou vymlouvat a poukazovat na své nedostatky. Poperou se a mládenec pozná, co jsou zač. – Mlynář, rozzlobený dceřinou vybíravostí, unáhleně rozhodne, že Eliška si do úplňku musí vybrat ženicha; pokud to neudělá, dá ji za ženu prvnímu, kdo si o ni řekne. Vodník a čert to vyslechnou. – Čert řekne Jindřichovi, že v rybníce žádná princezna není, ale ten mu nevěří. Když však mladík zjistí, že si pekelník myslí na Elišku, nabije mu. Ráno dívce vypráví o falešných princeznách. Zatímco jde s Eliškou na houby, vodník požádá mlynáře o dívčinu ruku. Ten se mu však vysměje. Stejně se vede i čertovi. – Elišku v lese zahlédne starý nafintěný knížepán, už dlouho shánějící hezkou nevěstu. Rozhodne se, že se ožení s mlynářovou dcerou. Dívka však žádného ze tří podivných ženichů nechce; stojí jenom o Jindřicha. Ale ten se zase nechce vzdát pomyšlení na svou princeznu. Zatímco se mlynář s dcerou trápí vyhlídkami na budoucnost, bezstarostný mládenec odjede s moukou do městečka. – Dívka rozhodne, že si vybere za muže toho, kdo jí druhého dne přinese nejkrásnější dárek. Vodníka napadne, že by Elišce udělala radost kouzelná štičí šupina, s jejíž pomocí bude moci za úplňku kráčet po vodě. Knížepán po poradě se svým sluhou Žánem dá ušít krásné šaty, a čert vymámí z čarodějnice radu, že každé ženě udělají radost drahé šperky. – Zatímco si nápadníci lámou hlavu, přiveze Jindřich dívce z městečka velké perníkové srdce. Hned však rozradostněné dívce tvrdí, že to je jenom přátelský dar. – Druhý den se sejdou ve mlýně nápadníci se svými dary. Rozpačitá Eliška stanoví další úkol: poté, co ji požádali o ruku a co přinesli dárek, musejí jí večer při úplňku zazpívat na hrázi hezkou písničku. – Mlynář už pochopil, co svou tvrdohlavostí zavinil. Neví však, jak ze zapeklité situace ven, aby nikoho z mocných sousedů neurazil. Zatímco se Eliška trápí, Jindřich jde klidně ukázat cestu zbloudilým muzikantům. Cestou zpět ho zastaví knížepánovi sluhové. Jejich pán se obává hezkého mladíka, kterého už několikrát slyšel pěkně zpívat, a poručí ho nechat svázaného v lese. Mravenci a liška, které kdysi pohostil buchtami, však mládenci na poslední chvíli pomohou z pout. Jindřich pochopil, že má rád Elišku, a spěchá zpátky do mlýna. – Na hrázi se zatím za vycházejícího úplňku odehrává písňový souboj. Všichni tři nápadníci zpívají hrozně falešně a bez srdce; když však Eliška uslyší písničku vracejícího se Jindřicha, obleče se do šatů od knížepána a ozdobí se čertovými šperky. Přijde s pomocí vodníkovy šupiny za Jindřichem po hladině rybníka jako „princezna“. Mládenec teď o ni stojí jako o Elišku a miluje ji i bez úplňkového kouzla. Knížepán uraženě odejde, vodník a čert se však nezlobí. Závist a hněv jsou totiž lidské vlastnosti. Slíbí, že půjdou dvojici za svědky. – Po svatbě v kostele, kam ovšem čert nesmí, je ve mlýně velká tancovačka. Na vrcholu blaha nejsou jen novomanželé, ale i všichni hosté, protože s jídlem se dostalo na každého.
Mlynář Jindřich se na hrázi rybníka málem srazí s kočárem knížepána. Spěchá domů, protože dnes má do mlýna přiletět čáp. Knížepán přikáže komorníku Žánovi, aby kroužícího ptáka sestřelil. Čáp po výstřelech uletí. Jindřich, vodník a čertík jsou zklamaní, ale za chvíli uslyší z mlýna dětský pláč. Maminka Eliška jim řekne, že místo čápa přiletěla vrána a přinesla dcerku Terinku. – Dorazí i pokrytečtí gratulanti ze zámku, knížepán s Žánem, ale strašidla je zaženou. – Zamilovaný knížepán doma zuří: ještě stále chce Elišku pro sebe. Zákeřný Žán, aby se zachránil před hladomornou, přijde s nápadem. A tak druhý den dorazí do mlýna verbíř se zprávou, že Jindřich musí narukovat do vojny s Turky. Starý mlynář marně tvrdí, že mlýn je od vojenské povinnosti osvobozen. Podle knížepána se to vztahuje jen na mlynáře a na jeho děti a nikoliv na jeho zetě. Proradný aristokrat však nabídne výměnu: pokud půjde Eliška do služby na zámek, nemusí Jindřich na vojnu. Mladý mlynář to však odmítne, a tak musí po dojemném loučení odejít z domova. Strašidla mu slíbí, že se o Elišku a Terinku postarají. Vodník mu poradí, aby se držel vody, a čertík mu dá šátek, který ho ochrání. Eliška pošle s milovaným mužem holoubka, aby po něm mohl posílat zprávy. Kvůli holubovi se na zámeckém nádvoří dostane Jindřich do sporu s přísným jednookým velitelem, který si na něj zasedne. – Do mlýna přijede sedlák Vondrovec s obilím. Pana otce bolí záda, a tak musí pytle tahat Eliška. Čertík jí tajně pomůže svým kouzlem, ale mlynář mu vynadá: ve mlýně se musí pracovat poctivě. Strašidla se před sedlákem schovávají a z toho vznikne několik humorných situací. - Eliščiným pomocníkům se docela zalíbí práce. Čertík mele obilí a přitom napraví panu otci bolavá záda; vodník zase pomáhá mladé mamince s prádlem. – Jindřich ve vojenském ležení vzpomíná na domov, když k němu přiletí domněle ztracený holub. – K čertovi v noci vlétne čarodějnice. Zlobí se na něj, protože jí na veselce ve mlýně slíbil, že si ji vezme, a teď se k tomu nemá. Když vidí malou Terinku, hned chce také děťátko. – Verbíř vyhlásí u mlýna, že Jindřich padl do zajetí. Zoufalou Elišku však utěší holoubek, který přináší dobré zprávy. – Ráno přijedou do mlýna knížepán a Žán ve smutečním. Znovu chtějí, aby šla Eliška na zámek. Ale strašidla je obviní ze lži a vyženou je. – Jindřich řekne veliteli, že nechce bojovat, a musí proto do úmoru cvičit. Když se však smočí ve vodě, nabyde novou sílu. Holub mu přinese zprávu z domova. – Eliška za dobrou práci ušije čertíkovi vytouženou mlynářskou čepici a vodníkovi dá paklík tabáku. – Čarodějnice zase doráží na čerta, ale ten jí poradí, aby si našla raději jiného ženicha: třeba knížepána. Ona pak na dálku prostřednictvím kouzel zkoumá, jak případný nastávající vypadá, a sebere mu přitom paruku. Pak se vydá do zámku. Jako "dobrá víla" nabízí knížepánovi pomoc při získávání Elišky. Bázlivý šlechtic se za ní vydá do skal. Přistoupí na její nabídku. Čarodějnice ho omladí a on bude mít tři úplňky (měsíce) na to, aby dostal Elišku. Pak však kouzlo pomine a nevěstu mu vybere ona sama. – A tak do mlýna přijde podivný chasník Johan, který se uchází o práci. Čertík ho však v přestrojení pozná a všem to řekne. Nový krajánek se točí stále okolo Elišky, ale práce mu nevoní. Vidí, jak se mlynářka raduje, když z dálky přiletí holub. Ráno chce ptáka chytit, ale nepodaří se mu to. – Velitel dá zavřít Jindřicha, který řekl vlídnému generálovi, že nikdo z jeho druhů nechce bojovat proti turecké přesile. – Jindřich i Eliška marně vyhlížejí holuba. Netuší, že ho chytil Žán a má ho v kleci. – V noci zaútočí na ležení Turci. Zabijí i Jindřichova kamaráda Jakuba a jednookého velitele. Vůz, v němž je zavřený Jindřich, hoří a zřítí se ze skály. Mlynáři se však díky čertovu šátku nic nestane. Vzápětí Jindřich zachrání z bojiště generála. Na útěku svede boj s tureckými vojáky a přiměje generála skočit do hluboké vody. Díky vodníkovu kouzlu se oba zachrání. – Eliška sbírá právě s čertíkem houby, když vidí vracející zbědované vojáky. Ti jí potvrdí, že nikdo jiný boj s Turkem nepřežil. Do mlýna přijde Žán, přestrojený za jednonohého vysloužilce, a předá Elišce šátek od "padlého kamaráda" (Eliška ho dala při odchodu manželovi a Žán se ho nenápadně zmocnil hned při odvodu rekrutů na zámku). Strašidla však smutné mlynářce stále tvrdí, že se Jindřichovi nemohlo nic stát. – Johan se chystá kout železo, dokud je žhavé, a vydá se na námluvy. Avšak Eliška mu řekne, že dávno poznala, kým je doopravdy, a že si ho nikdy nevezme. – Protože vypršela lhůta, kterou dostal od čarodějnice, promění se Johan ve starého knížepána. Strašidla ho pak ženou až na zámek, kde už na něj čeká čarodějnice. Pán si ji však odmítne vzít za ženu a musí za trest s Žánem sto let umývat na zámku schody a podlahy. Zatímco vytrestaní zloduši pracují, strašidla se s chutí klouzají po zámeckých parketách. Přitom objeví holoubka v kleci a osvobodí ho. – Generál chce odměnit svého zachránce. Nabízí mu hodnosti i peníze. Ale mladík si jen přeje, aby se mohl vrátit domů. – Eliška bělí s Terinkou prádlo na louce u mlýna, když se tu objeví Jindřich. Manželé se šťastně obejmou. Ze zámku přiletí holoubek a za ním i trojice strašidel. U šťastného shledání nemůže chybět ani pan otec.