Rachel Watson(愛蜜莉·布朗 飾)發現她的丈夫Tom Watson(賈斯汀·賽理斯 飾)跟兩人的房地產經紀人Anna Boyd(蕾貝卡·弗格森 飾)有染後,離婚並開始沉迷酒精。在二人的婚姻關係中,Rachel傾向於酒精引起的迷糊期間做出一些自我毀滅行為,她後來獲Tom告知,這使二人的婚姻關係走到盡頭,加上她是不育的原因。
Rachel跟她的朋友Cathy(勞拉·普萊潘 飾)分租單位,並習慣在火車上度過幾天,她經常跟蹤著前夫Tom與他的現任妻子Anna和新生女兒Evie。在她的旅程上,她慢慢著迷於Tom的鄰居,Scott Hipwell(路克·伊凡斯 飾)與他的妻子Megan Hipwell(海莉·班奈特 飾),那是一對年輕的夫婦,Rachel認為那是一個完美的婚姻。現實中,Scott是個暴躁而且控制慾強的人,而Megan是個不忠的女人,她經常跟不同的男人有情感關係,包括她的心理醫生Dr. Kamal Abdic(艾格·拉米瑞茲 飾)。
有一天,Rachel經過她的鄰居,她見到Megan跟Dr. Kamal Abdic在她的陽台上吻起來,讓她認為Megan破壞了她的「完美」婚姻而變得激動起來。在酗酒後,Rachel離開火車來面對Megan,她不醒人事並在數小時後醒來,在她寓所,受傷。Rachel後來發現Megan失蹤了,並推測死亡,她被Riley警探(艾莉森·珍妮 飾)查問,她懷疑Rachel牽涉其中,由於她最近不穩定的行為。
Rachel扮作是Megan的朋友來接近Scott,告訴他關於Megan出軌的事。Scott認出Dr. Kamal Abdic是Megan的情人,相信Megan失蹤後,Rachel安排與他見面,其間他們討論了Rachel與Tom的困擾的關係,特別在辦公室聚會的那件事,開罪了Tom老闆的妻子Martha(麗莎·庫卓 飾),導致Tom被解僱。
在一家酒吧裡,Rachel認得火車的一名乘客,那個人透露於Megan失蹤當晚見到Rachel下火車。那個人回家,後來發現Rachel於隧道裡昏迷,被一個看不見的人毆打,他假設她跌倒,他提出幫忙,但遭她激烈地拒絕幫助。Rachel返到那隧道,回想她見到Megan和Tom,以及對她伏擊前對她大叫。同時,Riley警探建議Tom有關Rachel的行為要跟她保持聯絡。Anna發現Tom有可疑,她試圖登入Tom的電腦,在過程中她發現有一個神秘電話號碼及一些語音訊息到另一個與Tom有關連的女人,後來驗證到那電話是Megan的。
Megan被發現死亡,法醫確定她懷孕了,但孩子既不是Scott也不是Abdic的。面對著Rachel,Scott成為了嫌疑人,相信她對他有陰謀,並在過程中揭示了他在Megan死前曾襲擊她。在火車上,Rachel走到Martha身旁,為她在聚會上的行為道歉,而她發現Tom被開除並非她的關係,而是他跟許多同事發生性關係而被解僱。Rachel意識到Tom在她的腦海種下不少錯誤的記憶,來說明他的虐待行為。
Anna發現跟Tom電話聯絡的是Megan,並發現他們二人都有關係。Rachel發現Megan有了Tom的孩子,並向Abdic表示,導致她誤會他們在陽台上見到的事情性質。當日下了火車,Rachel抓住Tom與Megan見面,並叫著她,讓她誤會那是Anna。Tom回到Megan身邊前打了Rachel,Megan表示自己懷孕並公開他們的關係,Tom殺掉Megan。
Rachel到Tom的家提醒Anna,但Anna表示她已經知道。Tom回來面對她,Tom跟Rachel爭執時,Anna表示她找到Megan的電話。當Rachel試圖撥打911時,Tom抱著Evie要脅著Anna,Anna請求他把Evie交給她。Tom從Rachel手上取得電話,並命令她坐下。Rachel告訴Tom她如何得知他的錯誤行為及指控。Tom把Rachel打至失去知覺,讓他回想起他如何殺害Megan。當Rachel回復意識時,Tom告訴她,指他希望那一天她保持距離。Rachel帶著開瓶器試圖逃出屋外,Tom抓著她並試著扼殺她,但她以一盞燈擊中他並再跑。在屋外,Tom抓住了Rachel,但這次她把開瓶器從他頸項捅進去,就是Anna看到的那樣。Anna然後離開了屋,把Tom頸上的開瓶器插得更深,於是Tom死掉了。
Rachel和Anna分別被警方拘捕,Rachel出於自衛把Tom殺了,而他透露自己是殺害Megan的兇手。
一年後,Rachel已沒有酗酒,整個人變得清醒,她找到一份新工作,她繼續乘相同路線的火車,然而她現在坐另一方的車廂,展開新的旅程。