1941年,美國(guó)海軍情報(bào)局特工索姆斯(約翰?庫(kù)薩克 John Cusack 飾)奉命來(lái)到上海,負(fù)責(zé)調(diào)查好友康納被暗殺的真相。他以德國(guó)先驅(qū)報(bào)駐上海記者的身份游走于社會(huì)名流的酒會(huì)。他借助同納粹工程師穆勒太太的情人關(guān)系消除猜疑、獲取情報(bào)。在一次賭局中,他結(jié)識(shí)了黑幫頭目蘭亭的夫人安娜(鞏俐 飾),對(duì)方與手下的神秘暗語(yǔ)令他好奇。跟蹤未果,他只得繼續(xù)打探。為了調(diào)查康納的死因,他秘密約見(jiàn)了康納的線人。然而,兩人的會(huì)面卻因?yàn)槿毡拒婈?duì)追查地下黨而破產(chǎn)。一次偶然的機(jī)會(huì),索姆斯再次與安娜重逢,并且在她的引薦中結(jié)識(shí)了上海黑社會(huì)頭目安東尼?蘭亭(周潤(rùn)發(fā) 飾)及日本情報(bào)處田中大佐(渡邊謙 飾)。在調(diào)查中,索姆斯?jié)u漸發(fā)現(xiàn)康納的死跟一個(gè)神秘的日本女人(菊地凜子 飾)有關(guān)……