Фильм начинается с того, что Джокер и его банда клоунов грабят банк мафии. Другие клоуны стреляют друг в друга, чтобы людей было меньше и они могли получить больше денег на человека. Менеджер банка достает ружье и стреляет в одного из них. Джокер снимает маску и убивает последнего клоуна, оставляя все деньги себе. Затем он уезжает на школьном автобусе.
Преступная мафия города очень зла на Джокера за ограбление банка. Джокер приходит к ним и говорит, что хочет убить Бэтмена. Тем временем окружной прокурор Готэма Харви Дент пытается унять мафию, выследив деньги. Об этом узнает бизнесмен по имени Лау, который заранее забирает деньги и уезжает в Гонконг, чтобы его не смогли поймать. Бэтмен, настоящее имя которого Брюс Уэйн, прилетает туда сам, похищает его и возвращает в Готэм-сити.
Джокер говорит, что хочет, чтобы Бэтмен снял маску и показал миру, кто он такой, и что если он этого не сделает, люди погибнут. Комиссар Лоэб умирает от кислоты в своем напитке, а судья, который присутствовал на суде над мафией, убит. Затем Джокер нанимает несколько человек, чтобы похитить полицейских и забрать их форму. На похоронах Лоэба люди Джокера пытаются застрелить мэра. Полицейский Джеймс Гордон нападает на мэра, получает пулю и, по-видимому, погибает.
Затем Дент созывает пресс-конференцию, чтобы спросить собравшихся, должен ли он раскрыть Бэтмена. После того как они говорят "да", Дент заявляет, что он и есть Бэтмен, и полиция арестовывает его. Они сажают его на грузовик, чтобы отправить в тюрьму. Джокер и его люди едут на грузовике, который сильно повреждает грузовик, в котором едет Дент. Приезжает настоящий Бэтмен и пытается спасти Дента, но разбивает свой бэтпод, похожий на мотоцикл, когда Джокер стоит там, поскольку у Бэтмена есть правило - никого не убивать. Гордон, который, как выясняется, инсценировал свою смерть, арестовывает Джокера.
В тюрьме Бэтмен расспрашивает Джокера. В конце концов Джокер рассказывает, что его люди схватили Рейчел Доус, старую подругу детства Бэтмена и девушку Дента, и Дента. Он поместил их в дальние склады, чтобы Бэтмен не смог спасти их обоих. Они находятся рядом с бомбами, которые взорвутся и убьют их. Джокер говорит Бэтмену, где находится каждый из них. Бэтмен отправляется спасать Доус, а Гордон и его люди идут спасать Дента. Однако когда Бэтмен добирается до места, где находится Рейчел, он видит только Дента, потому что Джокер поменял адреса. Бэтмен вытаскивает Дента, но бомба взрывается, и Дент получает шрам на половине лица. Гордон слишком поздно спасает Доуса.
Джокер выходит из тюрьмы. Он получает телефонный звонок и набирает номер мобильного телефона, который подключен к бомбе, в результате чего взрывается полицейский участок. После этого он посещает больницу, где находится Дент. Дент сходит с ума из-за смерти Доуса. Джокер освобождает Дента и велит ему отомстить. Дент ходит вокруг, бросая монеты, и решает, убьет он их или сохранит им жизнь. Он начинает преследовать различных полицейских, которые передали Джокеру информацию, позволившую ему похитить и убить Доуса.
Затем Джокер объявляет, что город принадлежит ему. Ответственные люди загружают два парома людьми, чтобы вывезти их из города. Джокер начинил обе лодки взрывчаткой и дал каждой лодке детонатор, сказав, что взорвет обе лодки в полночь, если одна лодка не взорвет другую.
Бэтмен находит Джокера в заброшенном здании. С помощью гидролокационной системы (созданной Люциусом Фоксом) он побеждает людей Джокера и не дает ему уничтожить оба парома. Затем он оставляет Джокера в подвешенном состоянии. Джокер очень впечатлен, заявляя, что Бэтмена нельзя подкупить, чтобы он нарушил свое собственное правило. Затем команда спецназа захватывает Джокера.
В конце фильма Бэтмен обнаруживает, что Дент похитил семью Гордона. Когда Бэтмен прибывает на место, Дент бросает монету, чтобы решить их судьбы. Не успев увидеть результат следующего броска монеты, Бэтмен сбрасывает Дента с края здания, и мститель падает замертво. После смерти Дента Гордон говорит, что если станет известно, что Дент убил всех этих людей, то вся его работа будет потеряна. Бэтмен предлагает взять на себя вину за все убийства. Гордон, который изначально был против, соглашается. Он уничтожает Бэт-сигнал и приказывает полиции выследить Бэтмена. Бэтмен уносится в ночь, а сын Гордона не понимает, почему Бэтмен должен охотиться. Но Гордон объясняет: "Потому что он может это выдержать. Потому что он не герой. Он молчаливый страж, бдительный защитник, Темный рыцарь".