作为亚洲金融中心的香港被称作“最安全的城市”,岂料警局接到一通匿名电话,对方声称劫持了警队的一辆前线冲锋车以及车内的五名警员和武器装备。此次事件引起了香港警队高层的高度重视,适逢处长(王敏德 饰)出访国外,此时由鹰派人物行动副处长李文彬(梁家辉 饰)与年轻的管理副处长刘杰辉(郭富城 饰)一起负责这次案件,并将行动命名为“寒战”,李文彬任总指挥。李文彬的儿子(彭于晏 饰)也是人质之一,刘杰辉因此对李文彬父子产生怀疑。与此同时,匪徒展开了进一步行动:警察被杀、爆炸案频发……到底是谁在将整个警队玩弄于鼓掌之中?香港真的是“最安全的城市”吗?
1950年代中期,“海燕”号轮船上,一千多名各种职业的旅客同船共渡。白天平静地过去了,夜暗伴着浓雾降临,由于附近暗礁很多,二副(李农 饰)向船长(穆宏 饰)建议低速航行,其他人则建议抛锚。但船长依仗自已几十年航行经验,命令原速航行,结果轮船触礁进水,睡梦中的乘客纷纷涌上甲板,情况非常危机。这时,海军政委(齐衡 饰)挺身而出,指挥全体复转军人安抚旅客,保持船体平衡。船长负责领航,但由于船头受损严重,被迫抛锚。发报机在发出求救信号后碰坏,上级无法确定出事轮船的位置,只好派出飞机和舰艇在海上寻找。雾海茫茫,潮水汹涌,军人和船员手拉手挽起了“人墙”......