从前有一个国王和他的王后都很蠢,儿子命名典礼上,客人的名单念到一半就不念了。这下得罪了一个骑舵鸟老远赶来的仙女,她诅咒王子将来是个小矮子。善良的仙女基尼斯塔为了补救这个不幸,把王子交给农妇带大,后来又培养成为知识丰富武艺高强的人。但尽管她给了王子种种优点,王子的个子却不见增加。
一天王子看到一幅萨贝拉公主的画像,还听说谁为萨贝拉登上冰山顶峰,谁就能得到她和她的整个王国。王子迷上了她的美貌,一路上打听前往那个国家。
有一次,他漂到一个荒岛上遇到一艘怪船,桅杆和船舷像树一样枝枝杈杈长满了树叶,看上去像座树林,船上的水手都跟甲板、桅杆和船舷连在一起,像死人一样。王子用箭头把他们跟木头分开,给他们按摩。还用草药泡水给他们洗澡,居然把他们都救活了。王子还用草药擦船,清队了枝枝杈杈。他很细心,仔细研究,发现船上的怪事跟船舱里的尘土有关系,便收集了一包带在身边。
后来他到了一个奇怪的国家,那里的房屋和庄稼跟别的国家没有什么两样,就是从国王到老百姓家都是长毛狗。原来那是一个中了魔法的国家,人们都被一个仙女变成了狗。王子很同情他们,安慰国王,并和国王交上朋友。
王子在一只小猴子的帮助下,找到了金山。那里有成堆的金子。尽管他很需要钱,但他却只拿了最小的一块。为此仙女基尼斯塔对他很满意,原来仙女一路上都在暗中帮助王子,猴子就是她变的。
王子终于到达萨贝拉的王国,这才知道仙女贡左拉偷去了萨贝拉的心,藏在冰山上顶峰的冰窑里,去取的人没有一个能活着回来。萨贝拉美丽非凡,就是缺少感情,唱悲伤的歌也好,唱的欢乐的歌也好,唱出来的都是一个味儿,其他方面也都是这样。因为美,世界各地的王子都赶来,想为她到冰山顶峰去取回那颗心来,已经有五百个王子为她丧失了性命。小矮子遭到大家的嘲笑。其中一个身材魁梧的王子侮辱了他,他便和那王子挑战了,并饶了对方的性命。矮子王子因此得到许多朋友。不久,因为他的种种优点,成了朝廷中举足轻重的人物,萨贝拉跟他很谈得拢,只是并不爱他。他决心上冰山为她取回心来。长毛狗国王派了四十八只长毛狗支援他。
他们穿过茫茫无边的大雪原,起初还有羊肠小道,后来根本没路了,北极星是唯一的向导。好在小矮子王子带着一捆细树枝,抽一两枝,洒上船上收集来的神奇尘土,便有了树林,可以生火取暖,遮风挡雪。一路上他们遇上一些冻死的马,都是以前登山的王子们留下的,因此吃的不成问题。小矮子王子见他们冻僵在雪地里很不忍心,想尽力法让他们渐渐暖和过来,因此到冰山脚下时,他们的队伍增加了许多人。依靠那些神奇树枝做成的火把,永远不会熄灭,他们才来到冰宫门前。
冰宫的宝座下面有一个雪垫,雪垫上放着一颗闪闪发光的大金刚钻,萨贝拉的心就在这里边。小矮子王子把它拿下来了,在回来的路上又救活了许多王子和他的随从。回到萨贝拉的王国,矮子王子把心还给公主,公主便有了惊人的变化,变得又温柔又体贴。婚礼上仙女基尼斯塔也赶来祝贺,是她给了小矮子非常有用的教育,使他那么勇敢、那么善良、那么聪明,最后赢得了萨贝拉的心和所有人的爱戴。仙女还带来好消息,说长毛狗国所有人都恢复了原形,国王正赶来祝贺呢。