1990年代,陈卫东(吕凉 饰)的妻子曲波波(丁嘉莉 饰)是个女强人,陈自感在家中没地位,终日与小舅子浪浪(彭博 饰)厮混在一起。忽一日,他想起插队时爱上的小芳(胡忻 饰)姑娘,温柔美丽善解人意,何不将那段经历写首歌呢。于是,一首《小芳》被他灌成盒带发行,唱遍了大街小巷。他把音像出版社付给的稿酬揣在身上,踏上了寻访昔日情人的道路。几经周折,终于见到了当年的小芳。但物是人非,如今的小芳已是华侨林先生的阔太太,这大大出乎陈卫东的意料。当下老华侨刚去世,村民正为这位造福桑梓的老人举办葬礼。陈卫东调整着纷乱的思绪,眼前的林太太怎么也跟二十年前的小芳对不上号......。马丁(伊利亚·伍德 Elijah Wood 饰)为了追寻偶像逻辑数学家亚瑟(约翰·赫特 John Hurt 饰)的足迹,来到牛津大学深造。他发现,寄宿的房东伊格莱顿太太(安娜·玛西 Anna Massey 饰)仿佛跟亚瑟交往甚密,而她的养女贝丝(朱丽·考克斯 Julie Cox 饰)却总是故弄玄虚。后来,马丁结识了壁球伙伴洛娜(蕾欧诺·瓦特林 Leonor Watling 饰),两人堕入爱河……
亚瑟演讲时,马丁作为唯一的提问者,引起了他的注意。后来,二人在房东家不期而遇,发现伊格莱顿太太被人谋杀。现场唯一的线索是一个圆圈。二人被警方带走协助调查。此后又有一些人离奇地死去,而且他们的死因似乎还暗含着某个数学定律……。