该片讲述了发型师Peter偶然遇上神秘而感性的June,之后发生了一连串奇怪的事件。
15年前的一桩交通事故,令一个男人死于车底,他的头被卡在车底下,身体却走了一段路后才倒下,这个恐怖的场面,被一个小女孩看到了,吓得目瞪口呆。
15年后,发型师Peter(陈奕迅 饰)和小琴(舒淇 饰)一夜情,却令Peter真的爱上了小琴,小琴是一个神秘的女孩,自称阴阳眼可以见到鬼,自从二人交往以来,怪事连连发生,Peter目睹了件件怪事,灵异的现象让他非常苦恼。
首先是Peter在长洲和June目睹一只女鬼上了June的朋友身,然后是Peter的父亲卢杰(黄沾饰)于风雨夜突然从老人院偷走出来,告诉Peter其实他并不是老年痴呆,而是被鬼迷。
继而在Peter相助一个小孩,替其母驱走缠身厉鬼之后,才发现原来该小孩已死。令对鬼神半信半疑的Peter一再和灵界接触,产生混乱。最令Peter疑惑的是其父突然自杀死后,老人院黄姑娘(李枫饰)告诉Peter在其父死前,June竟曾和卢杰相互对望良久而不发一言。
Peter追问June原因,June却支吾以对。Peter企图跟踪June,竟发现June神神秘秘地走入元朗,和一个身穿道袍的人相会,并迅即被一群大汉殴伤,令Peter渐渐对所谓鬼神之事愈来愈讨厌。不料June此刻竟告诉Peter那只近一段时间经常出现的无头鬼,其实是冲着Peter而来。
Peter益加觉得June胡言乱语,决意和June分开。直至某日醒来,Peter发现自己竟睡在西环电车路上,不时梦见父亲无头的Peter深知不妙。当发现十五年前西环无头人事件,June当天竟在场时,Peter隐隐觉得这一切必定和June又莫关联。
就在Peter坚信一切事件其实和June有关时,突然离奇坠楼受伤的老友Simon(李灿森饰)却告诉Peter有问题的似乎是他自己,因为Peter竟然浑浑噩噩的把房子漆上红油,更把Simon推下街。
原来无头鬼真的冲着Peter而来,因为当年是卢杰害死他的。无头鬼并不打算放过Peter,誓要置Peter于死地。到了最后紧张关头,一直对其童年失去了记忆的June终于记起当日所发生一切。
其实卢杰并非有心杀人,只是被后面一个不小心的人推撞,才误把无头人推出马路,无头鬼得知这个荒谬的原因后,才心息消散 。