影片中的故事发生在一个不知名的小镇上,小镇临近寒带,终年积雪,只在每年6-9月间天气回暖,通往小镇外的山路才能通行。
主角哈森·洛伦兹和妻子安娜、儿子费恩就是趁这个时候回家探望哈森的父母。可是他们刚到家不久,小镇的天气忽然变化,下了一场掺着冰雹的大雨,到半夜雨变成雪,小镇一下子进入深冬,道路积雪严重,车子开不出去,把这对夫妻都留在在了镇里。
镇里的电话线路与高压电路也被这场大雪压坏,整个小镇一夜之间成为孤岛,无法再和外界联系。
变天当晚,哈森年幼的儿子费恩因为天气突变而发起了高烧。哈森的父亲给孩子喝了退烧药,但天亮之后他仍然高烧不止,于是哈森和安娜决定冒着雪带他去小镇里唯一的私人诊所治疗。
他们冒着风雪铲开门前积雪,带着孩子开上小镇中心的公路。强风不停将雪屑泼到挡风玻璃上,车内的热气化开一点雪,很快又结上厚厚的冰壳,模糊了他们的视线,因此两人都并没注意到,小镇北方渐渐涌来了一片浓雾。
白雾缓慢地追上他们的车子,从雾里猛地伸出一条章鱼似的触手,重重抽在后备箱盖上。
车子差点被抽翻,哈森和安娜同时大叫了起来,从道路两侧的房屋里传出更多同样凄厉的尖叫声。哈森摇开车窗玻璃,看到近处薄雾中隐隐展现出许多诡异的怪物。
挥着触手的巨大章鱼,细长利足如同机械般规整起落的螯虾,骨架透明的灯塔水母,八足细长高挑的海蜘蛛,圆身利口满身尖刺的帝王蟹,头颅巨大而身体细长如飘带的怪鱼……仿佛深海里的怪物乘着雾气而来,吞噬着它们所能见到的一切活物。
哈森拿手枪打断了一只章鱼脚,趁机发动汽车冲出迷雾,横冲直撞地开到了私人诊所。
施洛特医生给费恩用了药,但费恩的病始终没有起色,哈森夫妇痛苦、自责、争吵、接吻、合好,拖了二十分钟的戏。洛伦兹医生让他们夫妇守着孩子,带着诊所里的几名护士用木条钉上门窗,拿着枪守在屋里,紧张地度过了整个白天。
到了傍晚时雾气忽然消散,那些怪物也随着海潮般的雾气撤离。人们渐渐鼓起勇气出来查看,才发现已经有不少人家因为大雪与怪物袭击导致房屋倒塌,大批人受伤甚至被怪物杀死,躲在地窖里的幸存者和伤者都被送进镇上最坚固的教堂里,洛伦兹医生也过去救人。
一连几天,这些怪物都是乘雾而来,乘雾而去,留在小镇上的时间越来越长。主角哈森发觉了这个规律,觉得总有一天这些怪物会永远停留在小镇上,于是发动所有人跟随自己离开。
有的人宁愿死在小镇上,有的还怀着军方会来救援的期待,有的则觉得外面大雪封山,出去了也只会死在山路上……直到一天晚上,一只本该随雾散去的巨型海蛛忽然出现袭击了教堂,杀害了十几名小镇居民,才被匆匆赶来的哈森和医生等人杀死。
人们终于不敢再留在小镇里。除了一些宁愿死在自己家里的老人,其余能走的人都被动员起来,趁夜清出一条通往镇外的路,开车冲向外面。但这一天天色还没亮,雾就飘起来了,白雾中出现了比平常更多的怪物。一路逃杀,从小镇一起驶出来的车队渐渐在迷雾中分散,一辆又一辆车永远陷落在迷雾里,只剩下哈森一家所乘的车仍然前行。
电影结束时,他们终于冲出浓雾,每个人身上都带着累累伤口,斑斑血迹,互相扶持着走下车子,沐浴着外面世界明亮温暖的阳光。
镜头拉得更远,在他们身后,浓雾已封堵住了那条进入小镇的山路。