故事发生在1692年的马萨诸塞州,在一个地处偏远的小镇之中,生活着一群虔诚又愚昧的人们。女孩阿比盖尔(薇诺娜·瑞德 Winona Ryder 饰)是牧师的侄女,因此在镇上享有很高的声誉,凡是她说的话人们都信,凡是她做的事人们都赞成。凭借着自己的“特权”,阿比盖尔将数十名她看不惯的女子以“女巫”之名送上了绞刑架,这其中就有约翰(丹尼尔·戴-刘易斯 Daniel Day Lewis 饰)的妻子伊莉莎贝斯(琼·艾伦 Joan Allen 饰)。 约翰一直都将阿比盖尔的狼子野心看在眼里,但由于两人之间的情人关系,他只得保持缄默,直到阿比盖尔将魔爪伸向了伊莉莎贝斯,约翰才明白事态的严重性。约翰向法官告发了阿比盖尔的罪行,然而,却没有人相信他的“胡言乱语”。
八公(Forest 饰)是一条谜一样的犬,因为没有人知道它从哪里来。教授帕克(理查·基尔 Richard Gere 饰)在小镇的火车站拣到一只走失的小狗,冥冥中似乎注定小狗和帕克教授有着某种缘分,帕克一抱起这只小狗就再也放不下来,最终,帕克对小狗八公的疼爱感化了起初极力反对养狗的妻子卡特(琼·艾伦 Joan Allen 饰)。八公在帕克的呵护下慢慢长大,帕克上班时八公会一直把他送到车站,下班时八公也会早早便爬在车站等候,八公的忠诚让小镇的人家对它更加疼爱。有一天,八公在帕克要上班时表现异常,居然玩起了以往