1926年的上海,青年演员宋丹平(张国荣)因主演歌剧迷倒成千上万女性,但对她们他均不动心,单与清纯的富家少女杜云嫣(吴倩莲)坠入爱河。然而因为他的戏子身份,两人恋情曝光后遭到杜云嫣父亲的强行阻止,杜云嫣被禁闭在家,许配给某豪门显贵。与该权贵公子的订婚夜宴上,杜云嫣装病离席私会宋丹平,权贵公子发现后妒火中烧,派人毒打过宋丹平后放火焚烧了剧院,杜云嫣自此成为外人眼中的疯妇,而已成废墟的剧院因为每逢月圆之夜会传来虚无缥渺的歌声,被传是宋丹平的鬼魂作祟。
十年后,某个小剧团暂住进被传有鬼的剧院,青年演员韦青(黄磊)遇到如幽灵的宋丹平,爱情悲歌随即再次上演。。波皮(莎莉·霍金斯 Sally Hawkins 饰)已经三十岁了,她是个普通的小学教师,没有房子,没有存款,仍旧单身,不再年轻也就不再漂亮……但是与沮丧现实相反的,是波皮极端乐观的个性,她明媚开朗得像涉世未深的孩子,甚至在一些外人眼里亢奋得不大正常。她练习蹦床,却遭到肌肉拉伤,方知自己年龄已经不适合这项运动,只好改学弗拉门戈舞;她去学车打算考驾照,却因为表现得太过活泼亲热,引来严肃的学车教练斯考特(艾迪·马森 Eddie Marsan 饰)愤怒爆发,认为她在挑逗他……波皮“无忧无虑”的性格,不符合年龄的乐观,似乎已经与周围的一切格格不入……。