1942年10月10日,汪偽政權在南京舉辦國民政府慶典期間接連發生軍政要員遇刺事件。特務處長王田香(王志文飾)對女刺客劉威葳(劉威葳飾)施以酷刑后獲取關鍵情報:代號"老鬼"的地下黨已滲透進剿匪司令部。王田香聯合日本特務機關長武田(黃曉明飾)設局,將司令部行政收發專員顧曉夢(周迅飾)、譯電組長李寧玉(李冰冰飾)、侍從官白小年(蘇有朋飾)、軍機處長金生火(英達飾)及剿匪大隊長吳志國(張涵予飾)五人拘押至裘莊,通過制造矛盾、隔離審訊等手段逼迫老鬼暴露。隨著武田假借細菌戰實施的死亡威脅與王田香的心理戰術逐步升級,五人組在互相猜忌中接連遭遇非正常死亡。最終顧曉夢的真實身份被武田識破,這位深藏不露的地下黨員利用敵方心理盲區完成情報傳遞,并以自我犧牲為代價確保組織安全,而李寧玉(李冰冰飾)作為另一重身份代號"老槍"的存在,則成為貫穿全片的終極懸念。