Akcja filmu ma miejsce w roku 2035, gdy Ziemia jest wyludniona. Przeżyło około 1% ludzkiej populacji, a to za sprawą wirusa którego ktoś wypuścił w 1996 roku. Ludzie starając się znaleźć antidotum, postanawiają wysłać człowieka w przeszłość, aby zdobył próbkę niezmutowanego jeszcze wirusa. Nie można było znaleźć serum. Tym człowiekiem zostaje Cole (Bruce Willis), więzień więzienia przyszłości. Ochotnik dostaje instrukcje, co ma zrobić i dowiaduje się, że za wypuszczeniem wirusa stoi najprawdopodobniej armia 12 małp. Zostaje on przez przypadek wysłany do roku 1990. Trafia tam do szpitala psychiatrycznego, gdzie poznaje dwie osoby, doktor (Madeleine Stowe) i szalonego człowieka (Brad Pitt). Jednak zostaje zabrany stamtąd, kiedy wysyłający orientują się, że przenieśli go w nieodpowiedni czas. Po 6 latach powraca tuż przed wypuszczeniem wirusa i stara się odnaleźć armię 12 małp, aby zdobyć próbkę lub przeszkodzić w rozprzestrzenieniu wirusa.