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