De kriminelle i Gotham City er bange, fordi Batman beskytter de gode borgere i Gotham. Filmen åbner med en bande mænd iført klovnemasker, der bryder ind i den bank, hvor mafiaen opbevarer mange af deres penge. Hovedmanden bag røveriet er en person ved navn Jokeren. I slutningen af røveriet ankommer Jokeren og sætter en granat i munden på bankdirektøren.
Ubevidst om Jokerens tilstedeværelse i deres by arbejder Batman og den nye statsadvokat, Harvey Dent, sammen med løjtnant Gordon for at sætte de sidste af mafiaens pengevaskerier ud af spillet en gang for alle. De tror, at de definitivt har stoppet hvidvaskningen og kriminaliteten i byen – indtil Jokeren dukker op for at så kaos. Jokeren myrder en dommer, placerer en bombe på et hospital og sprænger det i luften, og begynder at slå uskyldige mennesker i Gotham ned en efter en, indtil Batman afslører hans identitet.
Batman er fast besluttet på at kæmpe tilbage mod Jokeren. I et stykke tid ser det ud til, at han bevarer overtaget, indtil hans bedste veninde Rachel, som også er Harvey Dents kæreste, bliver dræbt i krydsilden. Da halvdelen af Harvey Dents ansigt bliver brændt i en eksplosion, får Jokeren ham over på den mørke side og opfordrer ham til at søge hævn for Rachels død. Harvey tager et nyt navn, Two-Face, og Batman står med to galninge at slås med, mens Gothams ødelæggelse truer.
Jokeren har tydeligvis planlagt sin overtagelse af Gotham i et stykke tid, og synes at være mindst to skridt foran Batman ved hver eneste lejlighed. Efter at have udsendt en trussel mod hele Gotham, beslaglægger han to færger og fylder den ene med borgere og den anden med dømte forbrydere. Han fylder også begge færger med sprængstoffer. Han giver hver båd en hoveddetonator, som vil sprænge den anden færge i luften. Hvis ingen detonerer den anden færge inden midnat, siger han, vil han sprænge begge færger i luften. Batman er til sidst i stand til at overmande den onde klovn, og ingen af passagererne på færgerne kommer til skade.
Harvey er stadig på Jokers side, hvilket Batman ikke var klar over i sit hastværk med at nedlægge Jokeren selv. Mens Batman har konfronteret Jokeren, får Gordon at vide, at hans familie er blevet taget som gidsel af Two-Face. Da Gordon går ud for at redde dem, slår Two-Face Gordon ned på jorden og griber derefter fat i hans lille dreng Jimmy, idet han planlægger at kaste en mønt for at afgøre drengens skæbne ved et tilfælde. Pludselig ankommer Batman og beordrer ham til at stoppe, idet han fortæller ham, at han giver de forkerte mennesker skylden for Rachels død. Two-Face vender derefter mønten for Batman. Den lander med den beskidte side opad, så han skyder ham. Han vender den til sig selv. Den lander med den rene side opad. Så genoptager han sin oprindelige plan og vender den for lille Jimmy. I det endelige øjeblik rejser Batman sig op og tackler Two-Face og vælter ham ud over en afsats.
Batman beklager sig over, at Jokeren stadig vandt, fordi han korrumperede Harvey Dent, splittede deres alliance for altid og ødelagde en af de bedste mennesker i Gotham. Hvis Gothams befolkning nogensinde opdager de uretfærdigheder, som Two-Face har begået, vil Gothams fremtid være kompromitteret. Derfor beslutter Batman sig for at tage skylden for de mord, som Dent begik som Two-Face, så Jokeren ikke kan vinde, og byen vil forblive fredelig.
Gordon ses ødelægge Bat-symbolet over MCU-bygningen og begynder derefter at jagte Batman, som løber. Gordon fortæller sin søn, at selv om Dent var den helt, som Gotham havde brug for, er Batman den helt, som Gotham fortjener. En menneskejagt bliver iværksat efter Batman, og han kører hurtigt væk i sin Batpod. Gordon erklærer: “Han er en tavs vogter. En vagtsom beskytter. En mørk ridder.”