1937年春的上海,《大娛晚報》記者冷言(李光潔飾)參加上海文化界慈善晚會,上海國民黨部宣傳部長潘仁海(劉交心飾)捐花瓶助興,其子潘之浩(張政勇飾)是中央社記者,將去東北前線采訪,對冷言不屑一顧,他說信奉一句話:如果你無法阻止戰爭,那就把戰爭真相告訴全世界。冷言被《文萃報》記者范曉蕓(萬茜飾)吸引,暗中拍下許多照片,要小報童阿弟轉送刻有“思”字鋼筆,范驚見冷言。?羅蘭借冷言相機拍下潘仁海絕密文件被潘派吳常盯住……羅踉蹌跑進大廳,把膠卷丟進阿弟報袋,倒在冷言身上,燈亮時大家看到驚慌失措、手握羅蘭背后匕首的冷言!冷被當嫌疑帶到警察局。阿弟發現膠卷去冷言住處被人抓走。冷父周松亭(任廣智飾)是藥業大亨,其干兒子、巡捕房探長時逢春(韓彥博飾)勘察現場有疑問。幾伙人都在爭奪冷言,冷剛回住處又被人抓走,時逢春換回冷言的膠卷全是范曉蕓照片。
因范曉蕓證詞,冷言被放出,冷向范說出女友童思思詳細身世,范不言。范在冷住處找膠卷,冷回憶和童思思中學往事,范不承認是童。冷父好友方世龍來滬,要冷父幫助尋找女兒。時逢春接命改查兒童失蹤案,接羅蘭男友馮懷秋電話,冷言和曉蕓跟阿春一起去。馮住處槍戰,曉蕓拔槍擊斃殺死馮的殺手,假裝昏倒。冷言受傷對馮被殺憤怒,他要曉蕓在《文萃報》登出“馮懷秋死前可能向冷言透露死因”引蛇出洞。時逢春現場勘察調查曉蕓,她在武漢和日本上過學,為冷言作假證,又要自己阻止冷行動,引起時逢春懷疑。
曉蕓采訪潘仁海,潘知范曾留學日本,要挖她。范查潘桌上火柴“悅都旅館”系日本間諜點,馮懷秋死前告訴曉蕓,羅蘭知道潘仁海和東洋人秘密。時逢春幫方世龍找到女兒是電影明星何媚(徐翠翠飾)。連續有11名兒童失蹤,時逢春想不出綁架用意。周松亭不許印刷登有冷言引蛇出洞消息的《大娛晚報》,時逢春審殺馮的疤面人柴寶,柴氣壯詞硬,很快被中央巡捕房要走。冷、時把消息透露給曉蕓,要登尋找阿弟啟事。曉蕓在阿弟家才知她是女的。冷言在骷髏幫虹南武館門口擦皮鞋,被阿春找到,冷在車內拍照,又跟蹤羅蘭死時現場的骷髏幫老大吳常等人,在悅都旅館外拍到他們與日本人走出。此時潘仁海把在教會醫院注射過疫苗的13名孩子名單交給日本人渡邊,要在當晚把這些活體疫苗送去日本。冷跟到藏匿孩子地,被吳常抓上車,膠卷掉地被阿春發現。地下黨也在“悅都”布哨跟蹤潘。曉蕓看到冷所拍照片不讓阿春公布。