ある朝。コルター・スティーヴンス(ジェイク・ギレンホール)は列車の座席で目覚める。目の前の女性(ミシェル・モナハン)が、親しげに話しかけてくる。だが、コルターには自分がなぜここにいて、彼女が誰なのかわからなかった。陸軍大尉のコルターは、アフガニスタンで戦闘ヘリを操縦していたはずなのだ。鏡を覗きこんだ彼の眼に映ったのは、見知らぬ別人の顔。所持していた身分証明書には、“ショーン・フェントレス:教師”と記されていた。そのとき突然、車内で大爆発が発生。なす術もなく炎に飲み込まれていった……。コルターが意識を取り戻したのは薄暗い密室。モニターに軍服姿の女性、グッドウィン大尉(ヴェラ・ファーミガ)が映し出される。列車の爆発事故について質問されるが、状況が飲み込めず、回答できない。“包囲された城”と呼ばれるこの空間は、何かの研究室らしかった。朝7時48分に列車爆破事件が発生したことは事実で、コルターの任務は、乗客であるショーンとなって車内を捜査し、爆弾魔を特定することだという。なぜか再び列車に戻されたコルターは、次第に状況を理解してゆく。目の前の女性の名はクリスティーナ。コルターが繰り返し列車に戻るのは、“ソースコード”というラトレッジ博士(ジェフリー・ライト)が開発中の極秘実験によるもの。これによってコルターの意識はショーンの身体とリンクし、死亡するまでの8分間を繰り返し体験できるのだ。5回目のスリップで彼は、アフガニスタンに向かったコルターについて調べてくれるよう、クリスティーナに依頼する。そして明かされる衝撃的な真実。“ソースコード”には、まだ知らない秘密が隠されていた。さまざまな疑問が浮かぶ一方で、コルターはクリスティーナに特別な思いを寄せるようになる。彼女を救うためにも、爆弾犯を探し出そうと8分間のミッションを繰り返すが、その先に待ち受けていたのは想像を絶する運命だった……。