1937年日軍入侵南京,六朝古都化為廢墟。國軍德械教導隊余部在李教官(佟大為飾)率領下救出教會學校女學生,自身卻失去撤離機會。幸存的學生們返回文徹斯特教堂時,恰逢美國人約翰·米勒(克里斯蒂安·貝爾飾)前來收斂神父遺體。逃難人群涌入教堂尋求庇護期間,十四名風塵女子在精通英語的玉墨(倪妮飾)帶領下強行進入,試圖借助約翰的身份尋求保護。當日軍闖入教堂要求交出女學生時,在玉墨與約翰的策劃下,這群風塵女子決定頂替學生前往日軍慶功宴。最終她們身著學生制服,在約翰護送下以赴宴會名義離開教堂,成功將女學生隱藏于地窖中。李教官率殘部與日軍激戰至犧牲,約翰則在目睹暴行后完成從殯葬師到英雄的蛻變。