1937年,在中國南京生活多年的德國商人拉貝(烏爾里奇·圖克爾飾)與妻子多拉準備回國。他把在西門子中國分部擔任的職務交給繼承人,然而就在當天的歡送舞會上,日軍開始轟炸南京城。拉貝打開公司大門收留中國員工及難民,并與其他外國僑民共同建立“南京國際安全區”,被推舉為主席。目睹日軍暴行的拉貝帶領同伴與日方周旋,通過設立難民營、發放糧食藥品持續救助平民。隨著安全區難民數量突破二十萬,日軍頻繁制造沖突并切斷補給,拉貝利用德國納粹黨員身份與外交手段多次化解危機。在極其艱難的條件下,拉貝持續主持安全區事務至1938年2月被迫返回德國。臨行前他將記錄日軍暴行的日記和影像資料托人帶出南京,這些證據成為戰后東京審判的重要依據。