I have to go with Scipio and not for the reason that he defeated Hannibal as I haven't looked at Zama in any detail. It was Ilipa that did it for me. A stroke of utter genius.
I like Caesar for his headless chicken act, rushing from place to place, continually having to pull his backside out of a fire, but I don't see him having done anything to match Scipio.
The rest, I need to do some more research.