As I kid growing up, I always fancied myself to be a Superman fan and now as a grown up adult (ish) my love for superman has grown into a full obsession that sometimes worries me. Through all of this I never actually liked the idea of Batman beating superman. Don't get me wrong, Batman is one bad-ass human that can hold his own in a battle. But at the end of the day he's just a human. A total bad-ass billionaire with a fetish for black and bats but still a human. I never fancied the idea of him beating a out of world being who not only is stronger then him, faster, smarter and basically a god compared to human batman. Apart from the fact that Superman only had one weakness, he is basically unbeatable. So here below I listed a couple of reason's why Batman beats (sorta) Superman.
We all know that one of Superman's greatest weakness is Kryptonite which ironic enough is what Krypton (Superman’s home planet) was made out of. I find it extremely funny how a simple rock can bring such a great being down but seeing that Superman has enough power to destroy anything, a guess this balances it out. And we have seen many cases where Batman has used this knowledge to his use ( The Krypotinite Suite, Kryptonite Ring, Krypotnite bullets) . In saying that, in order for Batman to do that he has to get it right,make sure he's in close range or that Superman isn't expecting it because if he misses then bam, Batman turns into Beatman.
2. Superman's Morals
There is a reason Superman is know as the Boy Scout. He is so morally right he makes the Pope look like a sinner. Everyone who has ever read the comics, seen movies or watched the animations with Superman knows that the guy always does things by the book. Sure he lies and fights and whatnot but he always knows the line between right or wrong and when not to cross that line. I find this really annoying especially when he's fighting bad guys. In fights he always seem to be hold back, rarely goes for the kill, always tries to find alternative ways to end a fight. In Batman: Hush even batman say's Superman could crush him but doesn't because of his good heart that prevents him from doing it.He prefers to see the good in everybody and rarely kills (until Man of steel that was lol). I guess what I'm trying to say is that Batman (if he wanted to go to that extreme ) can use his morals against him.
3. Superman Holds Back
Everyone knows that if Superman wanted to kill batman, he wouldn't need to get close to him or fight him. He could do it as easily as someone breaking apart play doe. In saying that, in most of the fights Superman always seems to be holding back. Especially when they're fight hand to hand. I know Batman is the master of Martial Arts especially since he learned from the League of Assassins, but if superman wanted, he could break every bones in Batman's body with just one punch and there is nothing that Batman would do that would stop that. So yeah the third way Batman beats Superman is because Superman hold back.
Although lead can't technically harm Superman, it does prevent him from using his x-ray vision. Therefor, Batman could conceal Krypotnite in lead then fight Superman which I guess is one way he bet Superman with that suit.
Magic is the other thing that weakens Superman. I guess technically if Batman wanted, he could study magic then proceed to use that knowledge against Superman. But I really don’t see Batman as the type to cast spell or even wear a pointy hat. He might get some one like Zatana to help him but i really don't see the Dark Night resorting to brewing potions and studying spells.
6. Outsmart Superman
Batman is one intelligent dude who is highly trained in Martial Arts and pretty much plans all the battle strategies for the Justice League. But the again, Superman comes from one of the most intelligent planet. One of his powers is smarter than the average human but I really don't consider Batman as average human so that may be one way he could beat the Sups.
So far those are six of the things that batman could use against Superman when engaging in a battle. But I just have to say that in order to do all that Batman has to prepare himself. Train himself and gather all the stuff he needs to beat superman. Where as superman just needs to bring himself to the battle field and nothing else.