I wanted to love this. I really truly did. I went into it wanting to emerge as if I hadn't breathed for two and a half hours. But I couldn't do it. I didn't love it. I only enjoyed it sporadically. It was, overall, a crushing disappointment.
There are many good things about it, don't get me wrong. Aaron Eckhart did a bang up job and had the most satisfying character arc in the movie as Harvey Dent. His evolution into Two Face was beautifully done and he handled it just right. Every single action sequence, from the opening heist onwards, was thrillingly executed. And of course, Heath Ledger steals the film as The Joker with a performance that inhabits the role to an occasionally frightening degree. When he's onscreen, he is absolutely mesmerising. And that's not hyperbole because he died at 28 and before the film was released either. It's a seriously intense portrayal.
Bale as Wayne is great too, but in all honesty I didn't love his Batman and a lot of that was to do with the entirely ridiculous bass growl he affects for that persona. Maybe the suit constricts his vocal chords, I don't know, but what I do know is I couldn't really understand what he was saying half the time. The film runs two and a half hours and could have taken a complex plot filled with complex characters and given them all room to breathe. Instead, it takes about three complex plots along with myriad sub plots and suffocates them all with hyperkinetic editing before screeching to a halt for some seriously ham fisted and clumsy preaching.
Ultimately, I think this was (for the most part) incredibly well acted film that was also astoundingly well directed. It was just let down by a script that had simultaneously too much and not enough going on.