Det har gått ett år siden Batman reddet Gotham fra Ra's Al Ghul. En bank blir ranet av en gjeng maskerte tyver. Men når alt kommer til alt er det kun én mann som står igjen som vinneren – den gale The Joker (Heath Ledger), som gjerne vil se hele verden gå under for sine føtter. Batman/Bruce Wayne (Christian Bale) vil først overse ham for å ta toppene i mafiaen, men oppdager snart at linken mellom mafiaen og Joker er skummelt tett. Han slår seg dermed sammen med førstebetjent Gordon (Gary Oldman) folkets nye helt Harvey Dent (Aaron Eckhart) for å fakke Joker og "vennene" hans. Men Bruce har sine egne demoner å kjempe mot. Ikke bare er politimannen Dent byens nye redningsmann, men han er også sammen med Bruces store kjærlighet, Rachel (Maggie Gyllenhaal). Det viser seg også at Joker ikke er en helt enkel mann å forutse, og Bruce innser at han kanskje må bryte grenser og moralske såvel som lovlige regler for å stoppe mysteriet The Joker.