故事發生在三十年代的上海,顧維邦(楊祐寧飾)是一位名不見經傳的小導演,一次偶然中,他遇見了名為夢思凡(林心如飾)的女明星,兩人一拍即合,決定拍攝一部愛情驚悚電影《夜半歌聲》。演員們紛紛入駐劇組后,顧維邦將拍攝地點選在了麗宮電影院,盡管眾人告誡此處曾發生過駭人聽聞的靈異事件不宜久留,但他固執地堅持開拍。劇組入駐后不久便接連發生怪事,直至扮演男主角的演員離奇死亡,眾人方才意識到問題嚴重性。顧維邦的未婚妻麥麗斯(黃幻飾)主動介入調查,卻意外牽扯出顧維邦與夢思凡之間塵封多年的隱秘過往——兩人曾在麗宮電影院有過一段刻骨銘心的愛情,卻因身份懸殊被迫分離,這段未了情緣最終演變成橫跨生死的怨念糾葛。隨著真相浮出水面,劇組成員接連遭遇超自然力量侵襲,在現實與虛幻交織的恐懼中,所有人都被卷入這場跨越時空的悲劇漩渦。