I'll try to make this as spoiler-free as I can.
Let's get the bad out of the way so I can keep on gushing about the good. I found Heath Leger's performance to be exceptional, but not quite the "oh-my-god-movies-are-forever-transformed" experience that the hype has indicated. The Joker got a little preachy in places; he talked just a tad too much about his philosophy. I would have preferred that his motives were a little more opaque. Certainly not a deal-breaker, though. Two-Face was wasted, in my opinion. Why, oh why do they insist in squeezing multiple villains into these movies? They had set up the Harvey Dent/Two-Face character so well that he could have carried the entire next movie; if you didn't see any more of him after the scene in the hospital, it would have been just as good a movie. Better, perhaps. Alas. The soundtrack was good, but not exactly compelling. And I wish they could have dressed up Chicago (where the movie was filmed) a little more to make it less Chi-town and more Gotham. I like a more... Gothic... Gotham. This could have been any city, and the generic feel of the city detracted from the overall feel of the film. And why does Batman need to growl every line he has?
And now the good.
Heath Leger is as good as folks have been saying. He truly redefined the role from the Jack Nicholson interpretation. This is the Joker from "Killing Joke" rather than "Laughing Fish".
Morgan Freeman and Michael Caine are brilliant as Lucius Fox and Alfred as they were in the first movie. It has a lot of commentary to make relevant to the current tension between individual liberties and the necessity of gathering information to thwart terrorism (as well as the practice of "extraordinary rendition" of suspects in other countries), and I think they managed to work it in without being completely ham-handed about it. They resisted the impulse to do a big special-effects-laden chase until 90 minutes into the film, and while it was obvious that it was an obligatory scene, it fitted well into the plot and feel of the film as a whole. The suspense was incredibly well set-up, and I think a lot of that has to do with the fact that they were able to make the audience really like and connect with the characters. I found myself really *caring* what happened to them in the final scenes, and that is a hard trick to accomplish. Very unexpected character death; well done. And the magic trick with the pencil is just... priceless. "Presto!" Hehehehe.
Perhaps what I liked most about this movie was the fact that Batman is hardly in it. It's not a "comic book movie" or a "superhero movie". It's a gangster / crime movie that happens to have a few extraordinary characters in it. It has that vibe, and I loved it.
Oh, and I saw a couple of people who brought their very young children to see it. I think, with my own seven-year-old daughter who loves both Batman and the Joker (ever since she "saw him" in person at the Shore Leave costume contest two years ago) as the benchmark, that it is definitely not a suitable film for young kids to see. The Two Face effect is creepy enough, but the Joker manages to pull off some definitely disturbing things, even if they cut away just before the blood, and I can really see it instigating some nightmares in young minds. I won't be letting my daughter see this for a few years at least.
I'll definitely be seeing it again, and I am officially spoiled when it comes to the Michael Keaton films. This one expands the milieu so much, and notches up the emotion and power inherent in the characters and setting, that the older films look cartoonish by comparison (and I mean the first ones, not the later more campy ones).
Give it four stars out of five.