A bank is robbed by a gang of brazen, clown-mask wearing thieves, who within minutes whittle down their own number until only the Joker, who had planned the double-cross, remains. He escapes with the entire amount stolen from the bank, which served as a money-laundering front for Gotham’s gangs.
Across town, multiple Batmen wannabes interrupt a meeting of mobsters gone wrong. Batman himself arrives and subdues all the criminals, Batmen, and Scarecrow (in a short appearance by Cillian Murphy in a reprise of his role from the first film). Injured in the confrontation, Batman decides to create a new, more functional suit of armor than his heavy and less mobile one.
The mob leaders meet to discuss how Batman, Lieutenant James Gordon, and new district attorney Harvey Dent, who is hailed as Gotham’s “White Knight”, are starting to have some success at hampering their various criminal enterprises. A Chinese mobster, Lau, lets the mob leaders know he’s taken their money to Hong Kong to prevent the police and the district attorney from seizing it in an imminent bank raid.
The Joker arrives unannounced at the meeting and offers his services to kill Batman for “half” of all the money that was taken away from Gotham. They initially refuse. However, Batman retrieves Lau from Hong Kong who then reveals all the names of his clients to Gotham Police, causing Harvey Dent to make five hundred arrests in one day. As a result of this, the mobsters relent, finally hiring the Joker to kill the Batman. The Joker tells all of Gotham that if the Batman doesn’t unmask and turn himself in he will kill innocent people every day. As a result of the Batman not turning himself in, the first major victims are the judge presiding over Dent’s indictments and the police commissioner.
The Joker’s attempt to kill Dent at a Wayne fund raiser fails. Lieutenant James Gordon, however, is killed saving the mayor of Gotham by the Joker himself at a memorial for the murdered police commissioner. As the number of murdered people increase day by day, Batman tells Dent to call a press conference so he can reveal his identity and stop the killings. In a surprise move, Dent instead claims to be the Batman himself and is subsequently arrested. While being transported the Joker and his gang attack the caravan of police vehicles to kill Dent, but Batman arrives and stops the assault. But while in a position to knock the Joker down, he swerves at the last minute instead, causing him to skid and fall down. The Joker prepares to kill Batman but Gordon - revealed to have faked his death - steps out and pistol-whips the Joker unconscious, and is promoted to Commissioner by the mayor. With the Joker in custody Gordon and Batman interrogate the Joker when he reveals that he and the mob have taken Rachel and Dent to opposite sides of the city and one will die. Batman beats the location of the two from the Joker and speeds off to save Rachel while Gordon and the police are off to save Dent. Back at the police station, the Joker escapes with Lau by detonating a planted bomb in a criminal’s stomach via a phone call.
Dent and Rachel each awaken, tied to chairs with barrels of explosive material surrounding them and a speaker phone hooked up to the other’s location. Rachel confesses her love for him and agrees to marry him. Harvey, while struggling, falls on the floor and his left side is immersed in turpentine. Batman arrives but finds Dent instead of Rachel. He realizes that the Joker had mixed up Rachel and Dent’s whereabouts. Batman rescues Dent as the building explodes and Harvey’s left side of his face is badly burned, while Gordon is unable to rescue Rachel before the explosion. In the hospital Harvey is driven to madness over the loss of Rachel, and blames Batman, Gordon and the Joker.
When Christopher Reece, of Wayne Corp’s employees, threatens to go public on the news with information about Batman’s identity, he is interrupted by the Joker who states that if someone doesn’t kill him in sixty minutes he will blow up a hospital. While the new commissioner is evacuating the hospitals, the Joker, disguised as a nurse, enters Harvey Dent’s ward. Blaming the mob and Gordon’s corrupt cops for the kidnapping and murder of Rachel, he convinces Harvey to exact his revenge upon them. After Dent leaves, Joker blows up Gotham General Hospital.
While Harvey confronts the corrupt cops and the mobsters one by one, flipping a coin to decide their fates, the Joker declares that he will rule the streets and that anyone left in Gotham will be subject to his rule, having killed the mob leaders and turning their men to him instead. He tells the public they can leave now but that he’ll have a surprise for them in the tunnel and on the bridge, which people then avoid. Instead two ferries are deployed, one ship full of criminals and one of ordinary civilians. However, the Joker has loaded each of them with explosives. In hopes of showing everyone how evil and corrupt they can be he gives the passengers of each ship the detonator to the other. They can choose to blow up the other ship, saving themselves, but if they don’t choose by midnight, the Joker will blow up both ships. The civilians vote to blow up the other ferry, but cannot bring themselves to actually do so, while one of the criminals steps forward and, taking the detonator, throws it out a porthole.
Batman discovers not only the Joker’s location at an unfinished skyscraper, but that the majority of his “gang” are actually hostages and the hostages are the actual criminals. Batman is forced to fight not only the Joker’s men but the SWAT teams as well to save the hostages. He finally confronts the Joker, preventing him from blowing up both ferries and saving him from falling to his death. The Joker acknowledges that Batman really is indeed incorruptible but that Dent is no longer the white knight; he has unleashed the scarred man on the city.
Batman finds Gordon and his family with Dent at the burned-out husk of the building where Rachel died, where Dent threatens to kill Gordon’s family to pay for the death of Rachel. Gordon says that he, Batman and Dent have all been partially responsible for her death. So, Dent flips his coin and it lands on the bad side; he shoots him. He flips the coin for himself and it lands on the good side. As he flips the coin a final time for Gordon’s son, an uninjured Batman knocks him over the side of the building where Harvey falls to his death. Batman saves Gordon’s son; he ends up falling as well but lands relatively unharmed. He and Gordon decide that the Joker really wins if anyone find out about Dent’s corruption and madness. They will have to uphold and cherish Dent’s vision of a prosperous Gotham. To prevent the further decline of Gotham City, Gordon and Batman agree that the Batman will no longer be an instrument of the Gotham Police Department, returning to a status as an illegal vigilante. After a memorial for Dent, Batman evades the police, and Gordon destroys the Batsignal - telling his son that Batman is indeed Gotham’s dark knight.