争议。一些研究者认为，跟随汉尼拔返回非洲的军队大多由被迫服役的意大利人组成，而他最有战斗力的老兵已在与罗马的战斗中消耗殆尽；另一些人则认为此时汉尼拔仍拥有许多经验丰富的老兵。无论如何，在扎马战役展开时，汉尼拔有58000名步兵、6000名骑兵和80头战象。西庇阿只有34000名步兵，但他在骑兵兵力上占有优势（8700人）。前202年10月19日，两位伟大的统帅在迦太基城与乌提卡之间的一片平原上相遇了，这就是军事史上着名的扎马会战。汉尼拔把步兵进行标准的三线布置，第一列是轻装步兵，其后两列是重装步兵，