Zločinci v Gotham City se bojí, protože Batman chrání dobré občany Gothamu. Film začíná v okamžiku, kdy se banda mužů v maskách klaunů vloupá do banky, kde má mafie uloženu většinu svých peněz. Strůjcem loupeže je někdo jménem Joker. Na konci loupeže přijde Joker a vloží řediteli banky do úst granát.
Batman a nový státní zástupce Harvey Dent, aniž by věděli o Jokerově přítomnosti ve svém městě, pracují spolu s poručíkem Gordonem na tom, aby jednou provždy vyřadili z provozu poslední mafiánské podniky, které perou peníze. Věří, že definitivně zastavili praní špinavých peněz a zločin ve městě – dokud se neobjeví Joker, aby zasel chaos. Joker zavraždí soudce, nastraží bombu v nemocnici a vyhodí ji do povětří a začne likvidovat nevinné lidi v Gothamu jednoho po druhém, dokud Batman neodhalí jeho totožnost.
Batman je odhodlán se Jokerovi postavit. Chvíli se zdá, že si udržuje převahu, dokud není v křížové palbě zabita jeho nejlepší přítelkyně Rachel, která je shodou okolností také přítelkyní Harveyho Denta. Když Harveymu Dentovi při výbuchu shoří polovina obličeje, Joker ho přivede na temnou stranu a povzbudí ho, aby se za Rachelinu smrt pomstil. Harvey přijme nové jméno Two-Face (Dvě tváře) a Batman se ocitne ve střetu se dvěma šílenci, kterým hrozí zkáza Gothamu.
Joker zjevně plánuje převzetí Gothamu už delší dobu a zdá se, že je na každém kroku nejméně o dva kroky před Batmanem. Po zveřejnění hrozby pro celý Gotham se zmocní dvou trajektů a jeden naplní občany a druhý odsouzenými zločinci. Oba trajekty také naplní výbušninami. Každé lodi dá hlavní detonátor, který odpálí druhý trajekt. Řekne, že pokud do půlnoci nikdo neodpálí druhý člun, vyhodí do povětří oba čluny. Batmanovi se nakonec podaří zlého klauna zkrotit a nikomu z cestujících na trajektech se nic nestane.
Harvey je stále na Jokerově straně, což si Batman ve spěchu, kdy chtěl zlikvidovat samotného Jokera, neuvědomil. Zatímco se Batman střetává s Jokerem, Gordon se dozvídá, že jeho rodinu vzal Two-Face jako rukojmí. Když se je Gordon vydá zachránit, Two-Face srazí Gordona k zemi a pak popadne jeho malého chlapce Jimmyho a hodí si mincí, aby náhodou rozhodl o chlapcově osudu. Náhle se objeví Batman a přikáže mu, aby toho nechal, a řekne mu, že ze smrti Rachel viní nesprávné lidi. Two-Face pak hodí minci za Batmana. Ta dopadne špinavou stranou nahoru, a tak ho zastřelí. Hodí si ji pro sebe. Padne čistou stranou nahoru. Pak pokračuje ve svém původním plánu a hodí ji za malého Jimmyho. V rozhodující chvíli Batman vstane a vrhne se na Two-Face, čímž ho shodí z římsy.
Batman si posteskne, že Joker stejně vyhrál, protože zkazil Harveyho Denta, nadobro rozdělil jejich spojenectví a zničil jednoho z nejlepších lidí v Gothamu. Kdyby obyvatelé Gothamu někdy zjistili, jakých špatností se Two-Face dopustil, budoucnost Gothamu by byla ohrožena. Batman se tedy rozhodne vzít na sebe vinu za vraždy, které Dent spáchal jako Two-Face, aby Joker nemohl zvítězit a město zůstalo klidné.
Gordon je viděn, jak ničí symbol Netopýra nad budovou MCU a poté začne pronásledovat Batmana, který utíká. Gordon říká svému synovi, že ačkoli Dent byl hrdina, kterého Gotham potřeboval, Batman je hrdina, kterého si Gotham zaslouží. Po Batmanovi je vyhlášeno pátrání a on ujíždí ve svém Batpodu. Gordon prohlásí: „Je to tichý strážce. Bdělý ochránce. Temný rytíř.“