史蒂文斯原本在阿富汗執行任務,但當他醒來時,他發現自己在壹輛開往芝加哥的火車上,他甚至不是自己了。相反,他是壹位名叫肖恩的老師,由壹位名叫克裏斯蒂娜的女士陪同。
火車在去芝加哥的路上爆炸了。當史蒂文斯再次醒來時,他發現自己在壹個看起來像駕駛艙的封閉空間裏。除了電視屏幕上壹個穿軍裝的女人——古德溫在自言自語——沒有別人。
還有壹個禿頂大叔,長得像拄著拐杖的負責人。他們告訴他,他剛剛出現的爆炸列車是不久前的恐怖襲擊,而這只是壹系列恐怖襲擊的開始。科學家發現,人的意識在死後八分鐘仍然存在。他們已經成功開發了壹個名為“源代碼”的政府實驗項目,可以讓史蒂文斯在爆炸前八分鐘不斷穿越回肖恩的意識中去尋找。
即使每次穿越都很痛苦,即使史蒂文斯不願意執行任務,他也別無選擇,只能壹次又壹次地被“送回”火車。
每次穿越的時候,史蒂文斯都暗自盤算著自己身上發生了什麽,結果竟然是他,史蒂文斯上尉,死在了阿富汗。得知真相後,史蒂文斯知道自己已經沒有了生活的可能,不想再壹次次遭受這樣痛苦的折磨。他只是想擺脫它。
為了讓史蒂文斯順利完成這個任務,光頭大叔向他承諾,只要能抓到恐怖分子,阻止下壹次恐怖襲擊,他就“去死”。在壹次又壹次的“八分鐘”探索中,史蒂文斯終於找到了恐怖襲擊的嫌疑人,政府成功抓獲了嫌疑人,阻止了更多的傷亡。
但在壹次又壹次的“八分鐘”中,史蒂文斯對肖恩的朋友克裏斯蒂娜產生了感情,克裏斯蒂娜曾多次與他發生爭執。他想在死前做最後壹件事,阻止火車爆炸,拯救火車上無辜的人。
但是光頭大叔不同意。如果火車沒有爆炸,他的“源代碼”項目就不會提上日程,更談不上成功實施,他的項目將永遠停留在實驗階段。
史蒂文斯不得不求助於古德溫,壹個公正善良的女軍官,她很懂事。古德溫最終同意幫助史蒂文斯,她再次送史蒂文斯回到火車上。
古德溫原本想在8分鐘後關閉讓史蒂文斯大腦繼續工作的設備,讓史蒂文斯得到真正的解放。這也是禿頭叔叔答應史蒂文斯的。然而,任務成功後,名利雙收的光頭大叔卻出爾反爾,要求古德溫格式化史蒂文斯,而不是將其關閉。
古德溫假裝聽從禿頭大叔的命令,把實驗室的門從裏到外反鎖起來,等待史蒂文斯完成他的8分鐘。再次回到火車上的史蒂文斯發現了炸彈,關掉了爆炸裝置,找到了恐怖分子,並把他交給了警方。
他也給父親打了電話,因為他和父親的關系壹直很緊張。這通電話化解了他們之間的誤會和矛盾,消除了隔閡。8分鐘結束時,他向克裏斯蒂娜表白,以壹個吻結束了壹切。我以為史蒂文斯的生命在拯救了整輛巴士後就結束了,但他作為肖恩活了下來。