一個王后把自己的孩子放在一個金子做的搖籃裡,讓她在海面上隨波逐流。不過搖籃並沒有被海水吞沒,而是漂到了一個食人族居住的島上。當小搖籃漂過來的時候,食人婆正好站在岸邊。她看到搖籃裡躺著一個美麗無比的小姑娘,就決心將她撫養長大,然後把她嫁給自己的兒子。不過她還有一個很大的苦惱,那就是得時時刻刻提防她的丈夫——老奧克羅,所以得把孩子藏得好好的,要是被他看到了,那孩子一準兒連皮帶毛都得被他吃個乾淨。後來小姑娘長大了,到了該跟小奧克羅結婚的時候了,可是她一點兒也不願意,只是整天不停地哭啊,哭啊。一天,她正坐在海岸邊,一個年輕而英俊的王子正好從海上游過來。他們兩個人一見鍾情,承諾要結為夫妻。正在這時,老奧克羅的妻子——食人婆正好走過來,看到王子竟然待在兒子的新娘身旁,於是大發雷霆,抓住了王子,說:「你等著,我要等到我兒子的婚禮上再把你烤熟!」
到了晚上,年輕的王子、小姑娘還有老奧克羅的三個兒子一起睡在一間屋子裡。到了半夜,老奧克羅突然來了興趣,想吃人肉,就說:「老婆,我可等不到兒子結婚那天了。現在就把王子帶來,讓我吃了吧。」小姑娘在隔壁把一切聽得清清楚楚,於是趕緊起來,把老奧克羅其中一個孩子頭上的王冠拿下來,給王子戴上。老奧克羅的妻子走進屋子,因為屋裡實在太黑了,她只能用手摸,看看誰的腦袋上沒有王冠,就把他拿給了自己的丈夫,結果被他一下子就吃掉了。這時的小姑娘已經驚恐萬分,心想:天一亮事情就會敗露,到時候我們可就要倒霉了。於是她悄悄爬下床,找來一雙飛靴,一根如意魔杖,還有一顆無所不知的豆子,拿著它們和王子一起逃走了。
他們穿上飛靴以後,每跨一步就能走一里地。她問豆子:「豆子,你還在嗎?」
「是的,」豆子說,「我在這兒。不過你得趕緊,老食人婆還會穿上別的飛靴來抓你。」
小姑娘聽了拿出如意魔杖,把王子變成湖泊,自己則變成一隻天鵝,在湖裡游泳。老食人婆趕到了湖邊,想把天鵝引到湖岸上,但是沒能得逞,最後氣急敗壞地跑回家去了。小姑娘和王子繼續趕路,又問道:「豆子,你還在嗎?」
「是的,」豆子說,「我還在,但是食人婆馬上就會回來了,因為老奧克羅為她指點了迷津。」
小姑娘聽了拿出魔杖,將自己和王子變成一團煙塵,讓食人婆沒法穿透。這次她只好又空手而歸了。小姑娘和王子繼續趕路。
「豆子,你還在嗎?」
「是的,我還在。但是我看到食人婆邁著大步,馬上就要追到這裡了。」
於是公主第三次拿出魔杖,將自己變成一叢玫瑰,將王子變成了一隻蜜蜂。這次食人婆沒有發現他們,只好回家了。但是這倆人卻沒辦法恢復人形——因為小姑娘在慌亂中把魔杖扔得太遠了。而他們現在正好位於女孩兒的母親——那位王后的花園裡。後來蜜蜂就落在玫瑰上,誰要是膽敢把花摘,就得先嚐嘗它針刺的味道。一天,王后一個人在花園散步,看到了這朵美麗奇異的玫瑰,覺得十分驚奇,就想把它摘下來。可是蜜蜂飛了過來,狠狠地在王后的手上蜇了一下,讓她疼得放開了手中的玫瑰。但是玫瑰已經被她折斷了,鮮血從花莖裡流了出來。王后趕緊找來一位仙女,讓她把玫瑰的魔法解除了,小姑娘又變回了人形。王后認出她就是自己的女兒,欣喜不已。之後公主和王子舉行了盛大的婚禮,邀請了許多衣著華麗的賓客。大廳裡點起了上千支蠟燭,人們又唱又跳,一直玩樂到了第二天天亮。