不过,在那个年代,想动动嘴皮子就能高枕无忧显然是种奢望。按条约中议定的,萨干坦城归属迦太基的势力范围内。可事实上,它却不是和自己的主子一条心而倒向了罗马人。迦太基人当然容不下这种异心。公元前219年,哈米尔卡之子,继任西班牙统帅的汉尼拔发兵将其收服。迦太基此举对罗马来说是明显的挑衅,以罗马人的性格当然不能视若无睹、无动于衷。次年,罗马以此为由对迦太基宣战,而双方的第二次布匿战争也正式爆发。
此番罗马人再与迦太基交手,发现摆在他们面前最大的难题不是迦太基的海上优势,而是迦太基的军队统帅汉尼拔。汉尼拔是迦太基杰出的战略家,他年富力强,精力充沛,具有良好的文化修养,思想成熟,意志坚强,仅仅25岁就当上了迦太基驻西班牙军队的最高统帅。从小就生活在军营中的汉尼拔耳濡目染,深知战争的残酷性,而他的父亲哈米尔卡也不时敲打他,全面锻炼他的身心。因为这些,汉尼拔自幼就形成了吃苦耐劳的性格、坚忍不拔的个性。最重要的还是他有非凡的抱负,他在父亲的教导下立志要打败罗马,征服意大利,一雪迦太基在第一次布匿战争中战败的耻辱。
自汉尼拔九岁起便跟随父亲东征西讨,立下了不少汗马功劳,也积累下了相当丰富的军事经验。这些绝不是唬人的假把势,罗马人很快见识到了这位"帅才"的厉害。
按罗马大军的计划,他们原是想兵分两路,一路兵伐迦太基,一路进攻西班牙,此计划的目的,就是让迦太基军两边都被自己牵制着。但汉尼拔岂是泛泛之辈,这位在世界战争史上都占一号的人物,在罗马宣战时便已经做好了一切准备,制订了相应的战略。汉尼拔细细分析了罗马的情况,找到了罗马人的死穴所在。在汉尼拔看来,罗马不过是一个拼凑起来的强国,它的盟国对其未见得都是心悦诚服。以这点为突破口,在他出兵意大利时,只要打着"帮助意大利人向罗马作战"的旗帜,意大利人必会响应而叛离罗马人。有着这杆旗帜,加上善用战术,汉尼拔是胸有成竹。
在掌握敌情、精心部署后,公元前218年,汉尼拔率部自新迦太基城向罗马进军。年底,汉尼拔的部队与罗马军在特利比亚河畔相遇,罗马军真正领略到了汉尼拔军事家的风范。汉尼拔以步兵正面牵制、以骑兵侧面进攻,狠狠地重创了罗马军。次年春,汉尼拔又率军绕过罗马的设防阵地,向罗马城直扑过去。这一次,汉尼拔的对手是罗马执政官弗拉米尼。此番他采用诱敌至设伏地前后夹击的战术,一举歼灭罗马军队数万人,而弗拉米尼也战死沙场。此役,汉尼拔重重地打击了罗马的士气,罗马的抵抗力骤然下降。