К 2035 году неизлечимый вирус уничтожил пять миллиардов человек, то есть большую часть населения Земли, а оставшиеся вынуждены жить под землёй. Уголовник по имени Джеймс Коул (Брюс Уиллис), осуждённый на 25 лет за дерзость и неподчинение властям, соглашается стать добровольцем для отправки на поверхность для сбора образцов биологической жизни в покинутом городе, так как ему предлагают скостить срок или амнистию в случае, если он оправдает доверие. Его друг Хосе (Джон Седа) в соседней клетке уговаривает его согласиться. Коул проходит обследование и выходит на поверхность для сбора образцов. Позже ему предлагают более опасную работу, но взамен, как и говорили, обещают амнистию. Он должен отправиться в опасное путешествие на машине времени в 1996 год, когда началась страшная эпидемия.
По ошибке Коул попадает в Балтимор 1990 года, где его принимают за параноика, так как он оказывается обнажённым посреди улицы. Сталкиваясь с полицией, оказывает сопротивление, и его помещают в психиатрическую клинику под наблюдение молодого врача Кэтрин Рэйли (Мэделин Стоу). Там он знакомится с Джеффри (Брэд Питт), борцом за права животных и сыном известного ученого-вирусолога, и безуспешно пытается предупредить людей о грозящей опасности. Он предстаёт перед консилиумом врачей, где пытается доказать свою историю, позвонив по номеру для связи. Затем Коул пытается бежать при помощи ключа, изготовленного Джеффри, но его ловят и помещают в карцер, где он слышит голос, который называет себя Боб. Коул исчезает из карцера, что приводит в недоумение сотрудников больницы. Он вновь в 2035 году.
Вернувшись, он рассказывает о случившемся, однако им недовольны. Власти дают Коулу ещё один шанс, его вновь отправляют в 1996 год, но опять ошибаются, и он попадает в окопы во время боя времён Первой мировой, где встречает другого посланца, своего приятеля Хосе, с которым сидел в тюрьме, он получает ранение в ногу. Коул наконец попадает в 1996, находит своего врача и похищает её после лекции, на которой она рассказывает о Синдроме Кассандры. Кэтрин привозит Коула к магазинчику, где находятся члены группы Джеффри. В поисках улик они сталкиваются с грабителями в старом театре. Коул убивает их. В отеле Коул говорит Кэтрин, что видел её ещё до их знакомства, но не знал, что это она. Кэтрин помогает ему добраться до особняка отца Джеффри и вытаскивает из него полученную им пулю. Он встречается с Джеффри, после чего исчезает перед самым появлением полиции.
Кэтрин ищет «Армию 12 обезьян» и Коула, и вскоре они внезапно встречаются на улице рядом с местом, где Кэтрин и Коул уже были и где Кэтрин оставляет надпись красным баллончиком. Кэтрин забирает Коула, уводит его от полиции. По дороге в отель Кэтрин и Коул видят бродячего проповедника (Томас Рой[en]), который признаёт Коула как одного из путешественников во времени. В отель прибывает местный сутенёр (Джозеф МакКенна), считая Кэтрин проституткой, а Коула — её клиентом. Коул избивает сутенёра, удаляет себе зубы с передатчиком, как советовал ему Боб, так как хочет остаться в этом времени вместе с Кэтрин. Они забирают деньги сутенёра, покупают новые вещи и накладывают грим прямо в кинотеатре. В аэропорту Коул делает звонок по телефону, сообщая о непричастности «обезьян» к произошедшему. И вновь Коул встречает Хосе, который передаёт ему пистолет.
Оказывается, что вирус выпускает не безумный сын вирусолога Гоинса (Кристофер Пламмер), а его не менее безумный ассистент доктор Питерс (Дэвид Морс), присутствовавший на лекциях Кэтрин. Коул понимает это слишком поздно. Злоумышленник отправляется в «командировку» с образцами вируса, чтобы распространить его по планете, открыв первый контейнер прямо в аэропорту. Там же его почти настигают Коул и Кэтрин. Однако им мешает пробиться к нему огромная очередь. Коул, наконец вырвавшийся из очереди, бросается вдогонку за злоумышленником, на ходу доставая пистолет, но подоспевшие полицейские открывают по нему огонь. Злоумышленник скрывается. Коул погибает на глазах у маленького мальчика (Джозеф Мелито), который с родителями ждёт в аэропорту самолёт. Этот мальчик — сам Коул, и эта сцена будет преследовать его в снах всю жизнь. Кэтрин находит мальчика глазами и улыбается сквозь слёзы. Эпидемия становится необратимой, но рядом со злоумышленником в салоне самолёта садится женщина (Кэрол Флоренс[en]) — одна из учёных будущего, отправивших Коула. Она представляется: «Меня зовут Джонс. Я работаю в страховой компании».
Фильм заканчивается тем, что маленький Коул и его родители садятся в машину. Он смотрит куда-то вдаль, и его глаза показаны крупным планом — точно так же, как в первом кадре фильма.