二十世纪三十年代初期,因叛徒泄密,中国共产党上海党组织被严重破坏,多位革命同志惨遭逮捕和杀害。资生国民党元老,如今已加入中国共产党的秘密党员潘明月(罗钢 饰)同志和他保管的大量机要文件,也不幸暴露,成为敌人的重点目标。潘明月正跟陈烈(赵阳 饰)在法租界的房子里,密谈党组织的大事,没想到上海警察局的侦缉处处长唐贤平(聂远 饰)突然到访。潘明月得知唐贤平来的时候还带了其他人,便明白出事了,于是让陈烈把重要文件从秘密通道带出去。潘明月单独会面唐贤平,被唐贤平质问其加入共产党的事情,他知道自己暴露了,便坦然面对。潘明月告诉唐贤平,国民党积重难返,劝唐贤平放弃国民党,为中国寻找另一条救国之路,可唐贤平不听。唐贤平让潘明月交出零号(田茉轩 饰)文件,写忏悔书给蒋介石,他想办法保潘明月的命,可潘明月不听,直接将手铐给自己铐上,带着唐贤平上楼。潘明月声称,自己不知道唐贤平要来,书房门没有锁,任由唐贤平进入拿走文件。唐贤平进入房间后,踩中了房里装的炸药导火线引爆了炸弹,他发现不对劲马上就往屋外跑。唐贤平和潘明月躲过了爆炸,可整间房子瞬间烧了起来,那些文件也葬身火海了,唐贤平只得带走潘明月问零号文件的下落。潘明月直接把手铐的另一端铐在窗户上,想要让自己葬身于火海,唐贤平想救潘明月救不了,自己也差点死在火里。唐贤平在火势蔓延的最后一刻跳窗逃出了火海,但却受了一点伤,而陈烈则看着潘明月牺牲无法救他,只得带着文件,混进唐贤平的车里逃出去。路上,唐贤平发现司机不对劲,让手下看了一下,这才发现司机刘聪被换了。陈烈在身份暴露之时,将车往路边撞,将唐贤平两人撞晕之后,自己带着文件下车逃跑了。陈烈住进了上海华界的沪江公寓,与同为地下党员的沪江公寓老板娘江汰清(郑罗茜 饰)和党员史大川(张博之 饰)秘密接头,将潘明月牺牲的事情告诉他们,同时要求他们切断一切对外的联系,以免零号文件暴露。法租界比埃尔(安东尼 饰)洋行老板比埃尔接到电话,得知股票跌惨的事情,正着急地出门去股票局处理,为此他已无暇顾及赶来给他报喜的洋行货运经理马天目(张鲁一 饰) 。唐贤平因为陈烈逃走时,拎走了一个箱子,怀疑零号文件还没有被销毁,所以决定继续查下去。警察局副局长余独醒(张帆 饰)给唐贤平一些新的线索,那是叛徒供出的新资料,唐贤平拿到手之后,马上就采取了行动,想办法去抓捕那些还不知道暴露危险的中国共产党地下党员。马天目在码头货运仓库点货的时候,突然发现一名受伤逃跑的共产党员闯了进来,还有一群警察在追捕,他下意识地想要保护他。马天目阻止警察搜察仓库,可他们根本不听,而那名共产党的血又从箱子里流了出来,他怕共产党员暴露,于是故意摔了一瓶红酒跟警察横了起来。唐贤平在马天目玩横的时候,偷袭了马天目,两人打了一架这才叙旧相认了。马天目怪责唐贤平多年不见,头一次见面便破坏他的生意,在他的仓库里捣乱,把警察的注意力给引开了。马天目特意提及他为唐贤平中枪受伤的事情,让唐贤平对他有歉疚感,也就不再多问跑进共产党员的事情,唐贤平这才表示会给马天目摆席接风,带队撤退。马天目在唐贤平撤退时,要求开枪威胁他的警察赔红酒的钱,以示自己是一个真正的做生意的人,不让唐贤平怀疑他。唐贤平走后,马天目马上生气地逼走共产党员,声称自己是为了自己的生意和小命,才没有暴露他,不让他怀疑自己的身份。马天目赶走共产党员后,去了古董行见中共地下党负责人吴崇信,同时认识了另一名共产党员邱少林,说明了唐贤平的情况。马天目走后,邱少林不放心地提醒吴崇信,是否要改变晚上去见桃符的事情,因为最近他们牺牲的人太多了。与此同时,桃符正在警察局的大牢里,接受着严刑拷打。