В 1996 году на улицах Лос-Анджелеса бесчинствует банда головорезов Саймона Феникса, чернокожего преступника с выбеленными волосами. На счету бандита десятки жертв, и лучший представитель местного департамента полиции Джон Спартан по кличке Разрушитель тщетно гоняется за Саймоном уже два года. Наконец, Джону удается поймать головореза, но его обвиняют в превышении полномочий и вместе с Саймоном помещают в криогенную тюрьму. Саймону присужден пожизненный срок, Джону — всего 70 лет заключения. Но проходит половина отмерянного копу срока, и преступник совершает дерзкий побег. Чтобы поймать Саймона, из заморозки выводят Джона. За годы, проведенные им в крио-коме в мире многое изменилось. Люди обленились, даже мирские удовольствия заменили виртуальными, и последнее убийство на Земле было зафиксировано в 2010 году.
Эксперт-букинист Дин Корсо (Джонни Депп) должен провести сравнение и выявить подлинник книги «Девять врат в царство призраков», экземпляры которой собирает богатый коллекционер Борис Балкан, специализирующийся на книгах по демонологии и ведьмоведению. В процессе работы Корсо сталкивается с мистическими и загадочными событиями — бывшие владельцы книги оказываются убиты, а на самого эксперта совершаются неоднократные покушения. Головоломка, таящаяся на страницах книги «Девятые врата», выходит за пределы бумажного издания, и от ее разгадки теперь зависят жизни многих людей.
Джон Хэнкок — лос-анджелесская знаменитость, человек с невероятной силой, способностью летать и неуязвимостью. Юноша использует свои способности, чтобы спасать людей и обезвреживать преступников, словом, ведет себя как настоящий супергерой. Только стиль у Хэнкока страдает: он нередко разрушает дома и дороги, действуя весьма грубо. При этом он не прочь выпить и вылить раздражение на надоедливых людей, не довольных его выходками. Неожиданно выясняется, что Хэнкок — не единственный в городе супергерой. Как и других людей с невероятными способностями боги создали его в паре, но жена Хэнкока — Мэри, прожив с ним бок о бок три тысячи лет, не выдержала и ушла.