Sherlock Holmes with Batman being a close second. Even Near proved to be as smart as L, and Batman has had this whole range of smart feats, and what L did might as well be child's play for him. Sherlock Holmes would've proven Light as Kira after a single face-to-face meet-up, considering Light was no Professor Moriarty.
BBC's Moriarty for sure. Because he's not too different from the source material, sure, he's different in many ways, but he's more of a modern-time version of the character, while Ledger's Joker despite great acting, was pretty much limited to anarchy.