Bale. Physically, he is a lot more believable and is just as good an actor as Michael Keaton, although he played a better Batman than Keaton did. He also has a much better presence than Keaton, who just blends in with the crowd.
It's like the Joker - Jack Nicholson did a great job, but Heath did a better one.