公元前202年秋,两军东西相望各自布阵。
汉尼拔采用了4排列阵,第一排为80头战象,意在冲击对面罗马军团的阵型,打乱对方的部署;第二排为2.5万名由利古里亚、高卢、巴利阿里巴及毛里塔尼亚人组成的轻装雇佣军,战斗力较差,其作用是充当炮灰,吸引敌人地注意力;第三排为此次战斗的主力部队,由3万名迦太基步兵和利比亚枪兵组成的混合队伍;两翼均布置有骑兵,左翼为努米底亚骑兵,右翼为迦太基骑兵;第四排是自己从意大利带回的1.5万精锐老兵,汉尼拔只在最关键的时候投入这部分力量。
汉尼拔的想法很简单,他决定用80头战象率先冲散罗马军团的队列,对敌人制造恐慌,然后再用轻装雇佣兵去冲击罗马军团的阵型,消耗罗马军团的体力。等到他们体力不支后,再出动精锐步兵,此时两翼的骑兵应该也已经击败对方的骑兵,就像坎尼会战那样将敌人团团包围,最后全歼。而自己率领的精锐老兵则用于督阵,如果形势不利,再把他们投入战场。这次他军队的数量首次超过了罗马军队,所以汉尼拔可以更加游刃有余地分配自己的军队。
西庇阿则采用了全新的布阵,和以往罗马军队不同,表面上依然是中央步兵和两翼骑兵,全军按三列线阵列队,加上罗马轻步兵共有4列横队。
第一列为轻步兵,第二列为青年兵,第三列为壮年兵,第四列为老年兵。但不同的是,第二、三、四列都整齐排列,他们不再如棋盘那样错落相间,而是让后排士兵直接站在前排士兵的正背后,人与人之间的间隙也被充分拉开,从天空俯视,纵队之间拥有大量的通道,只有第一列轻步兵站在队列的通道中用来远程抵御敌方的战象部队。虽然西庇阿的军队数量少于汉尼拔,但是这样的排兵布阵,让他军队的宽度和汉尼拔的相当。
西庇阿的布阵让处于同一平面的迦太基人看不见罗马军团身后百人队之间的通道,远远望去是一条直线般的队列,和之前并无差别。而步兵军团的两翼则各自布置了骑兵,左翼由莱伊利乌斯指挥,右翼由马西尼萨指挥。汉尼拔看到西庇阿的布阵,心里稍稍安定了下来,看来长老议会对这小子的描述有些言过其实了,看这排兵布阵,与之前被他战胜的那些罗马将领也没什么区别。
西庇阿如此布阵只有一个目的,那就是迷惑汉尼拔,让他轻敌,同时化解战象的进攻。如果按照过去军团的布阵,战象一旦冲进密集阵型的罗马军团,无疑会踩死大量的士兵,从而冲散军团阵型。
所以西庇阿便在各排百人队之间,人为制造了很多通道,一旦大象冲过来,就直接放它们从通道经过。另外,第一列的轻步兵则负责投掷标枪,专门杀死不愿意进入通道的大象……