第一次布匿战争失败之后,迦太基因失去地中海里的西西里岛,迦太基人在哈米尔卡·巴卡的带领下,开始向欧洲西部的伊比利亚半岛发展。公元前226年罗马和迦太基签订和约,规定两国以埃布罗河为界,在伊比利亚半岛上划分势力范围,据李维所述,条约规定埃布罗河南岸城市萨贡托(sagunto)享有自治权。但在公元前219年,汉尼拔出兵攻打萨贡托,该城向罗马求援,但罗马鉴于该城不是罗马的同盟未出兵相助,迦太基军队在围困该城8个月,占领该城。事后罗马令迦太基交出汉尼拔受审,被拒绝之后向迦太基宣战,迦太基政府也下令汉尼拔对罗马开展军事行动。