在1937年,日军入侵南京,这座六朝古都变成了一片废墟。中国军民被困城中,而一支由十数人组成的国军德械教导队余部在长官李教官(佟大为饰)的指挥下,成功救出了一批教会学校女学生。然而,李教官等人却因此失去了出城的机会,他们被困在了南京城中。
幸免于难的书娟(张歆怡饰)等学生返回文彻斯特教堂,随她们一起来到的还有受雇远道至此收敛神父遗体的美国人约翰·米勒(克里斯蒂安·贝尔Christian Bale饰)。此时的南京城中,逃难的人们蜂拥进安全区和教堂寻找庇护。十四名风尘女子强行进入教堂避难,其中精通英语的玉墨(倪妮饰)希望借助约翰的身份为一行人提供更多保护。
教堂的墙壁并不能阻挡日军的铁蹄,教堂内的人们将面临生死的选择。在这个充满危机的时刻,每个人都需要做出决定,无论是选择留在教堂内等待救援,还是勇敢地面对日军的威胁。