Hannibal has to be on any top 5 list imho because he kept winning battles against the Romans who were already badasses by that time. They had every conventional advantage over the Carthaginians and Hannibal just kept out-smarting them. He didn't stop Rome from becoming a superpower, but he did prove his military genius.
There's plenty. Probably by just pure logic Alexander the Great would always come out on top. But if you have to go more for your "taste" of military leader I would probably pick people like Julius Caesar, Hannibal, Von Rundstedt, Joan of arc, Napoleon. Even Leonidas of the ancient Spartans. This really all comes down to attributes you wish to see in a military leader. Personal courage, strategic intelligence, ambition. Just for example, Zhukov was easily one of the best known generals in World War 2, but his experience and knowledge was paid with blood of millions of Russians. When you back ancient times, you didn't have the luxury of second chances. You went in as victor or came out toast. Look at Cannae, Alesia and dozens of other ancient battles. There was no way out, nothing but death or complete victory. Perhaps this is a subject that really has no right answer.
Ditto, the desert fucking fox himself As a strategist it's more debatable, but as a tactician he can't be beat. That on top of the chivalry he displayed. "We have a very daring and skillful opponent against us, and, may I say across the havoc of war, a great general." - Churchill
I can't speak well of anyone that would order me into a trench. Wars will cease when men refuse to fight.
I doubt most of these men took any pleasure in having to send men into either battle either, but their abilities should be respected.
General Robert E. Lee - My personal opinion because he was outnumbered and out-supplied yet he still fought and won many battles, My second would be William Tcumseh Sherman and than Ulysses Grant. I find the American Civil war very interesting and I think the Generals of that war suffered alot.