故事发生在第二次世界大战期间,战争的炮火摧毁了平民们赖以生存的家园,无奈之下,他们只得踏上了逃亡的旅程。在一次敌方轰炸中,五岁的女孩保莱(布丽吉特·佛西 Brigitte Fossey 饰)目睹了父母和爱犬被炸死的场面。在恐惧和震惊之中,保莱找到了小狗的尸体,正当她伤心欲绝的时候,名叫麦克(乔吉斯·伯乔利 Georges Poujouly 饰)的男孩出现在了她的眼前。 麦克被保莱悲惨的遭遇所感动了,他说服了自己的父母收养这个可怜的小姑娘,并且为她的小狗制作了一个坟墓。可是,麦克所作的一切都不能减轻保莱的痛苦,看着她悲伤的神情,麦克想到了一个法子。两个孩子收集了战争中死去的动物的尸体,并用偷来的十字架为它们树立了墓碑,然而让两个孩子没有想到的是,正是这一善良的举动造成了他们最终的分离。
汉尼拔(加斯帕德·尤利尔)的童年之初充满明媚与温馨,可爱的妹妹就像他的小尾巴,是他最爱的亲人。然而战争带走了一切,他的父亲、母亲还有他的家园。可是这仅仅是噩梦的开始,真正的毁了他一生的是妹妹的死——残忍的德军,吃了他的妹妹。 妹妹的死成了汉尼拔永远的梦魇,妹妹的脸庞和声 音常常在他的梦里出现。汉尼拔决定去寻找他最后的亲人,叔叔的妻子,他的婶婶,一个神秘的东方女人,紫夫人(巩俐)。紫夫人教会了汉尼拔搏击的技术,也让他见识到东方世界生吃文化的精髓。汉尼拔似乎找到了走出童年阴影的出口,他开始杀人,吃人,在血腥中得到灵魂的暂时安宁。 杀害妹妹的仇人,一个接一个凄惨的死去。汉尼拔和紫夫人之间也渐渐产生若有若无的情愫,可是此时,灵魂深陷泥沼的少年汉尼拔还留下什么来爱呢?