芭布的丈夫卡爾去世了。為了完成卡爾的遺願,她獨自一人驅車前往明尼蘇達州北部偏遠的希爾達湖,打算在那裡撒下他的骨灰。那是一片被冰雪覆蓋的荒原,距離最近的城鎮有好幾個小時的車程,手機完全沒有訊號。
暴風雪來了。
芭布(艾瑪·湯普遜 飾)的車在大雪中艱難前行,視線幾乎為零。她不得不繞道去一間偏僻的木屋問路。就在接近木屋時,她注意到了雪地上的血跡。

地下室的女孩
芭布小心翼翼地走進木屋,發現了令人心寒的一幕:一個年輕女孩莉亞(勞雷爾·馬斯登 飾)被鐵鏈鎖在地下室裡。在她還來不及反應的時候,她聽到了樓上的腳步聲和交談聲——兩個綁匪正在討論著什麼計劃。
一個穿迷彩夾克的男人(馬克·蒙查卡 飾)和一個穿紫色衣服的女人(茱蒂·葛瑞兒 飾)。紫衣女人發現了芭布曾與莉亞接觸的痕跡,立刻意識到有外人闖入。兩個綁匪開始在暴風雪中搜尋芭布的蹤跡。
芭布跑了。她跑進了白茫茫的雪原中,身後是兩個持槍的綁匪。她沒有武器,沒有手機訊號,沒有任何人可以求助。她唯一知道的是,那個地下室裡還有一個活著的女孩在等人來救她。

冰上獵殺
芭布沒有選擇逃走。她選擇了反擊。
芭布利用丈夫留下的冰釣小屋設下了一個陷阱。迷彩夾克男追蹤她來到了結冰的湖面上,踩上了她挖開的冰洞,墜入了冰冷刺骨的湖水中。芭布趁機潛回綁匪的木屋,將他們的衣物和裝備全部浸泡在水中——在零下的氣溫裡,溼透的衣物和冰冷的溫度就是最好的武器。
但紫衣女人比她想像的更加危險。她用步槍射中了芭布的手臂。芭布的卡車也被她打壞了,徹底斷了逃跑的退路。

真相
在對峙中,芭布終於知道了綁架莉亞的真正原因。紫衣女人是一名醫院員工,她身患絕症,需要進行器官移植才能活命。她綁架莉亞不是為了勒索贖金,而是為了摘取莉亞的肝臟來拯救自己的生命。她在冰凍湖面上搭建了一個臨時醫療帳篷,準備就地進行手術。
一個瀕死的人,為了活下去而奪取另一個人的生命。
芭布試圖說服迷彩夾克男去尋求幫助。這個男人似乎還殘存一絲良知,同意了。但紫衣女人截住了他。
冰下
最終的對決發生在那座搭在冰凍湖面上的醫療帳篷裡。芭布與紫衣女人展開了一場殊死搏鬥,帳篷在混亂中被點燃。火焰和冰雪形成了一幅超現實的畫面。
在搏鬥的最後一刻,芭布做出了一個驚人的決定。她將手銬銬在了自己和紫衣女人的手腕上,然後拖著她一起墜入了冰洞。兩個人同時沉入了冰冷漆黑的湖水之中。
芭布用自己的生命,換取了莉亞的自由。

莉亞從被囚的地下室裡掙脫了出來。她獨自走過冰凍的湖面,走過芭布為她清除了所有威脅的那片荒原,一步一步走向了安全的地方。
芭布來這裡是為了撒下丈夫的骨灰,最終她把自己也留在了這片冰湖之下。她完成了一件卡爾會為之驕傲的事。