别人眼中式微的粤剧戏班,在路初八(陈奕迅饰)的眼中却天堂,但他那半桶水的唱功,以及听到观众掌声就发慌的胆怯心理,令他只能是做配角的材料。一天,初八的唱功表现变得如有神助,班主要捧他做新台柱。而班中原来的台柱洪霸天(黄秋生饰)感到地位被受威胁,于是设计请人扮鬼要吓走他,不想这一招竟惹来真鬼。 传说中红灯笼是戏班鬼魂的化身,一只红灯笼不时出现在初八的左右,但初八发觉它并没有恶意,而且还助他邂逅了梦中情人陆环彩,上演了一幕英雄救美。但初八仍旧受不了鬼魂的缠绕,决定反客为主逼它现身。鬼魂原来是三十年代当红的反串文武生紫云飞,当年她为了爱郎蒋家二少爷破戒以花旦行当演出楼台会,可惜二少爷没到,而她唱了一半,亦被堕下的灯台削去半边面,魂断戏台。紫云飞心愿未了,死后不能全身轮回,魂魄只好一分为二,一半去投胎,一半留在阳间找机会圆愿。数十年后,去投胎的一半转世为人,正是路初八,而做鬼的另一半却一直遇不上合适的人借身代唱,直至她找到“自己”路初八。 在紫云飞的威迫利诱之下,心无大志的初八最终亦答应上台担正做花旦,为自己的前世唱完未了的楼台会。楼台会终于在七十年前同一个地点开锣,可是意外却接二连三,初八总是无法唱完一台戏,似是紫云飞的宿命重演。冒牌二少爷出现,令紫云飞空欢喜一场。此时的紫云飞气数已尽,离开尘世在即,楼台会始终无法唱完。最后一刻,她却发现陆环彩原来正是二少爷的轮回再世,前世姻缘今世续,她终可含笑离开。而路初八为了完成紫云飞的心愿,决定独挑大梁主唱压轴的一场深夜开演的天光戏。深更半夜里,他的戏没有人看,他只为鬼而演,站到台上他竟然没有了往日的胆怯