Det er få kilder som viser årsaken til krigen, men man tenker seg at årsaken var at punerne ble drevet ut av Hispania i tiden etter den første punerkrig. Det ble inngått avtaler mellom Roma og punerne hvor grensene mellom de to rikene skulle gå, men disse avtalene ble senere brutt av romerne. Dette var trolig på grunn av at de fryktet punerne, og dermed ville ha grensemessig kontroll.