路初八(陈奕迅饰)是戏班的小配角。他平日一上场就怯,让戏班师傅非常头痛。然而这几天却有奇迹发生在他身上——他唱得异常动人,表演出色,如有神助。他终于发现惊悚的原因——有鬼上了身!此鬼是三十年代反串文武生的女子紫云飞(容祖儿饰)。她当年苦恋二少爷(谢霆锋饰),为了他出演旦角,等他前来观戏。但是人没来,紫云飞在舞台上就发生了意外,堕下的灯台削掉她的半边脸,她即刻香消玉殒。未了的心愿让她无法完全投胎,于是只投了一半的胎在路初八身上,而另外一半,还在苦苦等待机会,实现当年心愿。路初八得知紫云飞即自己的前世,而且她对爱的执著也令他动容。于是,他开始了帮助紫云飞实现遗愿。