Iron Man, without question. Slick, stylish, witty, with a shit-eating grin of a lead performance from Robert Downey Jr, I actually wanted to see it again as soon as it ended, although it only just pipped Guillermo Del Toro's superior sequel Hellboy II: The Golden Army to top spot.
As for The Dark Knight... I know there's plenty of love out there for that film, and while I thought the opening heist was brilliantly executed (I've watched it several times since being sent the film on Blu-ray) and Heath Ledger's performance made it into my best of the year, I still prefer Batman Begins. For me, when Ledger's offscreen, the film deflates. I'd also argue that it's too long, has one too many villains and a third act that's too messy and convoluted for it's own good but if you like the film you're not likely to listen. If the movie had ended with the lorry flip and didn't try to shoehorn Two-Face into the story, only to kill him, I probably would have liked it more. As it is, I know I'm in the minority, but that's okay.