第一次布匿战争结束后,迦太基吸取惨败的教训,在西班牙殖民地建立了一支强大的陆军,任命26岁的汉尼拔为总指挥。
公元前219年,汉尼拔无视罗马元老院的警告,率领军队攻打罗马同盟,也是西班牙最富有的城市萨贡托,第二次布匿战争(公元前218年~公元前202年)即将爆发。
公元前218年,汉尼拔打破罗马的预想,率领约9万名步兵,1.2万名骑兵和37只战象越过比利牛斯山脉(法国与西班牙的界山)和阿尔卑斯山脉,抵达了意大利半岛北部。汉尼拔比拿破仑早2000年翻越了阿尔卑斯山。当汉尼拔军队到达意大利时,步兵剩2万名,骑兵6000名,战象仅剩1只。
汉尼拔的远征目标是什么?一是联合高卢人对抗罗马;二是瓦解罗马同盟获取胜利。
汉尼拔的战术是什么?公元前216年,在坎尼会战中汉尼拔采取“新月”战术,他联合高卢部落编制了4万步兵和8000骑兵,共同歼灭8.7万罗马大军。罗马军队遭到惨败,死亡人数达到了6万,只有西庇阿骑兵队有幸逃出重重包围。坎尼战之后,意大利诸多城市臣服于迦太基,汉尼拔也成了英雄。
为什么汉尼拔不直接攻打罗马?汉尼拔一心想要说服罗马周边同盟发起起义背叛罗马,因此在罗马城外围徘徊了15年,但被罗马的攻心计——公民权而打了水漂。
现在轮到罗马出远征了。西庇阿家族率领军以先征服了西班牙殖民地,后把矛头指向了迦太基城,成功把汉尼拔军队撤离意大利,并选择偏远的扎马平原与汉尼拔的军队交战。
罗马军吹响鼓角,喊声大作,使汉尼拔的战象失去控制,然后用迂回包抄的方式发起正面猛攻,歼灭了汉尼拔的军队。战败后,汉尼拔落荒而逃,在小亚细亚服毒自尽。
公元前201年,迦太基与罗马签订了和平条约,向罗马偿付巨额战争赔偿款,并把所有海外殖民地交于罗马。
战争结束后,迦太基致力于商业发展,物质财富迅速增加,把分期偿付50年的战争赔款不到30年就偿还完,引起了罗马的妒忌。