公元2035年,人類被12只猴子軍研制的一種病毒侵襲,大部分人類都在這場病毒災難中死亡,只有少數人僥幸逃生,也只能在陰暗的地下茍且偷生。科學家們決定派人穿越時光回到1996年追查12只猴子軍的來歷。囚徒詹姆斯·科爾(布魯斯·威利斯飾)被挑選為志愿者。陰差陽錯,科爾回到了1990年,當他向當時的人們描述未來的那場大災難時,被當作精神病捉了起來并被醫生凱瑟琳·雪莉(瑪德琳·斯托飾)診斷為精神分裂癥。科爾在病友杰弗里·戈因斯(布拉德·皮特飾)幫助下逃脫,回到了未來。因為沒查清12只猴子軍的來歷,科爾再次被派回了1996年。科爾這次發現了12只猴子軍的起源地在費城,他找到了醫生凱瑟琳,二人一起展開追查。隨著調查深入,科爾逐漸意識到所謂"12只猴子軍"實為某個動物保護組織的隱喻,而真正釋放病毒的關鍵人物正是曾與他在精神病院接觸過的戈因斯。最終科爾在機場追捕行動中目睹了病毒釋放的全過程,并在追逐中被擊斃,而這一場景正是童年凱瑟琳親眼見證的記憶片段。