O filme começa com o Joker e seu bando de palhaços assaltando um banco da máfia. Os outros palhaços atiram uns nos outros para que haja menos pessoas para que possam conseguir mais dinheiro por pessoa. O gerente do banco pega sua espingarda e atira em um deles. O Joker tira sua máscara e mata o último palhaço, deixando todo o dinheiro para si mesmo. Ele então se afasta em um ônibus escolar.
A máfia do crime na cidade está muito brava com o Joker por ter roubado o banco. O Joker vem até eles e diz que quer matar o Batman. Enquanto isso, o promotor público da cidade de Gotham, Harvey Dent, tenta fechar a máfia, rastreando o dinheiro. Um empresário chamado Lau descobre isso e retira o dinheiro antes e vai para Hong Kong para que ele não possa ser pego. O Batman, cujo nome verdadeiro é Bruce Wayne, voa até lá ele mesmo, sequestra-o e o leva de volta para a cidade de Gotham.
O Coringa diz que quer que o Batman tire sua máscara e mostre ao mundo quem ele é, e que se ele não o fizer, as pessoas morrerão. O Comissário Loeb morre por beber ácido em sua bebida e o juiz que estava nos julgamentos da máfia é morto. O Joker então contrata alguns homens para seqüestrar policiais e levar seus uniformes. No funeral de Loeb, os homens de Joker tentam atirar no prefeito. O policial James Gordon ataca o prefeito e é baleado e aparentemente morto.
Dent então convoca uma coletiva de imprensa para perguntar às pessoas de lá se ele deve revelar o Batman. Depois que eles disserem que sim, Dent diz que ele é o Batman e manda a polícia prendê-lo. Eles o colocaram em um caminhão para mandá-lo para a cadeia. O Joker e seus homens dirigem um caminhão que danifica muito o caminhão em que Dent está entrando. O verdadeiro Batman entra e tenta salvar Dent mas destrói sua motocicleta como Batpod quando o Joker está lá, já que Batman tem uma regra de que ele não matará ninguém. Gordon, que se revela ter forjado sua morte, prende o Coringa.
Na prisão, o Batman questiona o Coringa. O Joker acaba revelando que seus homens capturaram Rachel Dawes, velha amiga de infância do Batman e namorada de Dent, e Dent. Ele os colocou em armazéns distantes para que o próprio Batman não pudesse salvar os dois. Eles estão perto de bombas que vão explodir e matá-los. O Joker diz ao Batman onde está cada pessoa. Batman vai salvar Dawes enquanto Gordon e seus homens vão resgatar Dent. Entretanto, quando Batman chega à localização de Rachel, ele só vê Dent, porque o Joker trocou os endereços. Batman tira Dent para fora, mas a bomba explode e Dent cicatriza metade de seu rosto. Gordon é tarde demais para salvar Dawes.
O Joker sai da cadeia. Ele recebe seu telefonema e disca um celular que está ligado a uma bomba, que explode a delegacia de polícia. Depois, ele visita o hopsital onde Dent está hospedado. Dent é levado à loucura por causa da morte de Dawes. O Joker liberta Dent e lhe diz para se vingar. Dent anda por aí atirando moedas ao ar e decide se vai matá-las ou mantê-las vivas. Ele começa a ir atrás dos vários policiais que vazaram informações para o Joker para que ele pudesse seqüestrar e matar Dawes.
O Joker anuncia então que a cidade é dele. O pessoal encarregado carrega dois ferries com pessoas para tirá-las da cidade. O Joker conectou os dois barcos com explosivos e deu o detonador para cada um deles, dizendo que ele explodirá os dois barcos à meia-noite se um barco não explodir o outro.
O Batman encontra o Joker em um prédio abandonado. Ele usa um sistema de sonar (criado por Lucius Fox) para derrotar os homens do Joker e impedi-lo de destruir ambas as balsas. Ele então deixa o Joker pendurado. O Coringa fica muito impressionado, afirmando que o Batman não pode ser corrompido para quebrar sua própria regra. Uma equipe SWAT captura então o Coringa.
No final do filme, Batman descobre que Dent raptou a família de Gordon. Quando Batman chega, Dent atira sua moeda ao ar para decidir seus destinos. Antes que ele possa ver o resultado de seu próximo lançamento da moeda, Batman atira Dent da borda do prédio, deixando o vigilante despencar até sua morte. Com Dent morto, Gordon diz que se se souber que Dent matou todas essas pessoas, todo o trabalho que ele fez terá sido perdido. O Batman se oferece para assumir a culpa por todos os assassinatos. Gordon, que originalmente é contra, concorda. Ele destrói o Bat-Sinal e ordena à polícia que persiga o Batman. Batman sai à noite enquanto o filho de Gordon não entende o raciocínio por que Batman deve ser caçado. Mas Gordon explica "porque ele pode levá-lo". Porque ele não é um herói". Ele é um guardião silencioso; um protetor vigilante; um Cavaleiro das Trevas".