Definitely the best of all the Batman movies. It doesn't feel like the other comic book movies, though- it's intense as hell and stands alone. You can't even compare it to the Hulk or Iron Man, so don't even try.
Heath Ledger steals the show, by far. Even below the make-up, his face is aged well beyond his years, carrying the tortured soul of the Joker inside of him. This was far more than method acting- Ledger WAS the Joker.
Christian Bale's performance as Batman doesn't really jump off of the screen, but we're not really there to see Batman- we want the Joker. Bale's performance as Bruce Wayne is rather stoic and nothing special, but he makes it work well enough. Maggie Gyllenhall's performance is easily forgettable (as is her character's name, which escapes me as I am writing this)- she has very little chemistry with either of her love interests.
Aaron Eckhart stands out as the other memorable player in this film. Self-assured and cocky in one moment, grief-stricken and insane in the next.
The film itself was dark and thought-provoking, not your typical summer action film. The only complaint that I have isn't even that the movie was 2.5 hours. My only complaint is that I want more Joker, and in the next film, I am not going to get it. No one will be able to portray the Joker in such a real, terrifying way as Ledger did. No one will be able to step into that purple suit without fear of comparison and the inability to measure up. This was Ledger's swan song- the performance of his life. On some level he most have known it, and after seeing this film, sadly we all know it.