一九四九年,解放战争已近尾声,上海地区仍被敌对势力所控制。某个深夜,一批爱国科学家在共产党组织的护送下进行转移,却遭遇国民党特务预先设下的埋伏。从美国留学归来的年轻女性丁芷寒(温峥嵘 饰)(温峥嵘 饰)当时正随同父母一起撤离,在危急关头得到地下党员祝中华(徐僧 饰)(徐僧 饰)奋不顾身的救助而幸免于难,但她的父母与其他科学家均不幸遇害,祝中华本人也在战斗中负伤并被敌人逮捕。由于连续多次行动遭受挫败,上海地下党组织内部开始怀疑队伍中可能存在叛徒,而诸多迹象似乎都将嫌疑引向祝中华,唯有他的义父况宝山(杨树泉 饰)始终对他抱有信任。此时,祝中华从国民党陆军医院成功脱身,党组织决定对他展开审查。当组织成员在丁家找到他时,一份被截获的敌方密电显示祝中华已经叛变,证据看似确凿,党组织因此准备对他执行处决,然而祝中华却在此时不知去向,党组织随即下达了追捕清除的命令。
丁芷寒通过调查逐渐发现,家人的遇害实为国民党特务所策划,背后的主使是保密局上海站站长于盛龙(张志坚 饰)(张志坚 饰)以及隐藏在内部的叛徒。得知祝中华被怀疑为叛徒后,她与祝中华约定以半年为期,暗中放他离去,自己则设法接近保密局通讯科科长兰飞(赵阳 饰)(赵阳 饰),并最终成为于盛龙的秘书。在此身份掩护下,她多次为党组织获取重要情报,并协助营救被捕同志。然而,代号“飞鹰”的叛徒真实身份依然未能查明。兰飞在察觉丁芷寒的真实背景后选择了默许与保护,但丁芷寒内心所倾慕的却是祝中华。由于叛徒的持续出卖,地下党组织接连遭受严重破坏,所有线索再次指向祝中华,祝中华最终被锄奸小组击毙。丁芷寒在悲痛之余,也因曾与祝中华私下联系而受到党组织的怀疑。
临近解放前夕,又一个代号“地龙”的叛徒出现,导致上海地下党蒙受重大损失。丁芷寒在于盛龙的保险柜内发现了任命贾中全为“飞鹰”的委任状,为查明“地龙”的真实身份,她选择继续潜伏,却因身份暴露而被关入死牢,甚至被党组织列入已死亡人员名单。上海解放后,丁芷寒与兰飞被人救出,他们重新回到于盛龙的办公室,在那里等待着他们的,是一个出乎所有人预料的结局。