De kriminella i Gotham City är rädda, eftersom Batman håller de goda medborgarna i Gotham säkra. Filmen inleds med att ett gäng män med clownsmasker bryter sig in i den bank där maffian förvarar en stor del av sina pengar. Den som är hjärnan bakom rånet är en person som heter Jokern. I slutet av rånet anländer Joker och sätter en granat i munnen på bankdirektören.
Ovetandes om Jokerns närvaro i deras stad arbetar Batman och den nya åklagaren Harvey Dent tillsammans med löjtnant Gordon för att en gång för alla sätta de sista av maffians penningtvättföretag i konkurs. De tror att de definitivt har stoppat penningtvätten och brottsligheten i staden – tills Jokern dyker upp för att så kaos. Jokern mördar en domare, placerar en bomb på ett sjukhus och spränger det i luften, och börjar slå ut oskyldiga människor i Gotham en efter en tills Batman avslöjar hans identitet.
Batman är fast besluten att slå tillbaka mot Jokern. Ett tag verkar det som om han behåller övertaget, tills hans bästa vän Rachel, som också råkar vara Harvey Dents flickvän, dödas i korselden. När halva Harvey Dents ansikte bränns i en explosion för Jokern honom över till den mörka sidan och uppmuntrar honom att söka hämnd för Rachels död. Harvey antar ett nytt namn, Two-Face, och Batman får två galningar att ta itu med när Gothams förstörelse hotar.
Jokern har uppenbarligen planerat sitt övertagande av Gotham under en längre tid, och tycks ligga minst två steg före Batman vid varje tillfälle. Efter att ha släppt ut ett hot mot hela Gotham tar han två färjor och fyller den ena med medborgare och den andra med dömda brottslingar. Han fyller också båda färjorna med sprängämnen. Han ger varje båt en huvuddetonator som kommer att spränga den andra färjan. Om ingen spränger den andra båten före midnatt, säger han, kommer han att spränga båda båtarna. Batman kan så småningom övermanna den onda clownen och ingen av passagerarna på färjorna skadas.
Harvey är fortfarande på Jokerns sida, något som Batman inte insåg i sin brådska att ta ner Jokern själv. Medan Batman har konfronterat Jokern får Gordon veta att hans familj har tagits som gisslan av Two-Face. När Gordon går för att rädda dem slår Two-Face Gordon till marken och tar sedan tag i hans lilla pojke Jimmy och planerar att kasta ett mynt för att avgöra pojkens öde genom en slump. Plötsligt kommer Batman och beordrar honom att sluta och säger till honom att han ger fel personer skulden för Rachels död. Two-Face kastar då myntet åt Batman. Det landar med den smutsiga sidan uppåt, så han skjuter honom. Han vänder myntet till sig själv. Det landar med den rena sidan uppåt. Sedan återupptar han sin ursprungliga plan och vänder myntet för lille Jimmy. I det definitiva ögonblicket reser sig Batman upp och tacklar Two-Face och knuffar honom över en avsats.
Batman beklagar att Jokern ändå vann eftersom han korrumperade Harvey Dent, splittrade deras allians för gott och förstörde en av de bästa människorna i Gotham. Om folket i Gotham någonsin upptäcker de oförrätter som Two-Face har gjort kommer Gothams framtid att äventyras. Därför bestämmer sig Batman för att ta på sig skulden för de mord som Dent begått som Two-Face, så att Jokern inte kan vinna och staden förblir fredlig.
Gordon ses förstöra Bat-symbolen ovanför MCU-byggnaden och börjar sedan jaga Batman, som springer. Gordon säger till sin son att även om Dent var hjälten som Gotham behövde så är Batman hjälten som Gotham förtjänar. En människojakt utlyses efter Batman och han rusar iväg i sin Batpod. Gordon förklarar: ”Han är en tyst väktare. En vaksam beskyddare. En mörk riddare.”