1987年,阿黛爾(凱特·溫絲萊特 飾演)是一位悶悶不樂的單身母親,和13歲的兒子亨利(加特林·格裏菲斯 飾演)住在僻靜的小鎮上。在外出購物的過程中,他們遇到了一位渾身沾滿血跡的男子,為了給予幫助,把他帶回了家。這名男子名叫弗蘭克(喬什·布洛林飾演),是一名越獄的逃犯。弗蘭克向母子倆坦白了他的過去。從越南戰場退伍歸來之後,弗蘭克娶了懷孕的女友曼迪(麥卡·夢露飾演)。孩子生下一年之後,弗蘭克才知道自己並非生父。在爭吵過程中,他失手殺死了女友。就在這個時候,一歲的孩子也溺死了。弗蘭克因此進了監獄。
阿黛爾與弗蘭克墜入了愛河。他們計劃帶上亨利遠走高飛,逃往加拿大。在勞動節當天,他們打點好行李,清掃了房屋。與此同時,亨利與一個思想成熟但對他頤指氣使的女孩艾連諾(布麗吉德·弗萊明飾演)交上了朋友。在離開一天前,亨利與艾連諾告別,不小心把弗蘭克的真實身份告訴了她。準備離開的那個早晨,亨利去了自己生父的家,給他留下一封信。阿黛爾去銀行取出了所有的錢,而弗蘭克卻引起了一位鄰居的懷疑。亨利的生父發現了那封信,趕到了阿黛爾的家。與此同時,警察也找上們來,準備逮捕弗蘭克。弗蘭克將亨利和阿黛爾綁在了椅子上,之後主動向警方自首,這樣就避免了母子倆的犯罪嫌疑。但究竟是誰給警察通風報信,電影並沒有說明。
許多年過去了。長大後的亨利(托比·馬奎爾飾演)成為了一名事業有成的面點師。他收到了來自即將出獄的弗蘭克的消息。亨利告訴他,他的母親目前仍舊是單身。出獄之後,弗蘭克即與阿黛爾重逢。