1940年3月,汪伪政府宣布成立。侵华日军在上海大肆搜捕抗日志士,汪伪组建由前国军军官毕忠良(张鲁一饰)担任处长的“特别行动处”为虎作伥。一直潜伏在毕忠良身边、代号“麻雀”的中共党员陈深(李易峰饰),与组织暂时失去联系。
置身虎视狼顾的险境中,陈深伪装成一个在上海滩赌博,在女人堆中打滚的不羁浪子形象,但实则信仰坚定,冒死营救上线“宰相”(李小冉饰)及抗日志士。毕忠良老奸巨猾,虽与救命恩人陈深“情同兄弟”,却对其产生怀疑,设重重陷阱步步紧逼。陈深因“宰相”是其哥哥的夫人,亲嫂子,因此不顾一切想救出宰相,然而事与愿违,宰相告诉陈深,不可以救她,否则潜伏在特别行动处的任务就彻底失败。宰相牺牲后,陈深终于找到新上线“医生”并受命拿到日军代号为“归零”的重要作战计划。
陈深的昔日恋人徐碧城(周冬雨饰),两者在黄埔军校为师徒关系,徐与另一国民党情报人员唐山海(张若昀饰)假扮夫妻潜伏进特别行动处,此时他们也接获军统的指令,要拿到归零计划,此计划是日军用来潜伏在军统与中共的卧底,以便于战争失利后,能继续为日军效劳,徐碧城因个性不适合当一名特务,总是情绪用事,在多次行动中给陈深制造麻烦和危机。智计过人的陈深身处连环杀机之中,巧妙利用日本鬼子、汪伪分子等各派势力之间的微妙缝隙,而屡屡取得胜利,让毕忠良与长官不怀疑自己是卧底。然而在军统叛变的苏三省(尹正饰),给予特别行动处,军统刺杀小组飓风队的情报,而使得军统在上海势力几乎全军覆没。苏三省喜爱李小男(阚清子饰),李小男却钟情于陈深,苏三省积极想杀掉陈深、唐山海、徐碧城,认为他们就是中共卧底“麻雀”和军统卧底“熟地黄”,但同时也付出了巨大的代价。陈深最终成功地获取“归零”计划,“归零”计划就藏在毕忠良的家里,陈深用计谋终于拿到了“归零”计划,挫败了日本侵略者的阴谋。最后结局耐人寻味,徐碧城为了救陈深,而没有到延安,而陈深因诈死,而没有在上海与徐碧城会面,当徐碧城去找中共上线时,被中共交代另一项任务,即是用现有的身份继续卧底在军统,直到胜利的一天。