바그라다스 강 전투는 승리한 하밀카르 바르카가 이끄는 카르타고군과 스펜디우스가 이끄는 반군 사이에 벌어진 전투이다. 기원전 240년에 전투는 현재의 튀니지 북동부 지역에서 벌어졌다. 카르타고는 제1차 포에니 전쟁 이후 전년 말에 시작된 용병 전쟁에서 반항적인 군인들과 반항적인 아프리카 도시들의 연합과 싸우고 있었다. 반군은 카르타고를 봉쇄하고 북부 항구인 유티카(Utica)와 히포(현대의 비제르테)를 포위하고 있었다. 하노가 지휘하는 카르타고 군대는 그해 초 유티카를 구출하려고 시도했지만 실패했다. 두 번째 군대는 카르타고에 집결되어 제1차 포에니 전쟁의 마지막 6년 동안 시칠리아에서 카르타고 군대를 지휘했던 하밀카르에게 맡겨졌다.
새로운 카르타고 군대는 카르타고를 떠나 하구에서 바그라다스 강(현재의 메제르다 강)을 건너 반군의 봉쇄를 피했다. 유티카 포위 공격과 바그라다스 강 하류의 유일한 다리를 지키는 캠프에서 스펜디우스 휘하의 반군 군대가 카르타고를 향해 행진했다. 그들이 시야에 들어왔을 때, 하밀카르는 그의 부하들에게 퇴각하는 척하라고 명령했다. 반군은 그들을 추격하기 위해 성급하게 대열을 깨고 빠르게 혼란에 빠졌다. 반군이 가까이 다가오자 카르타고인들은 뒤를 돌아 반격을 가해 돌격을 중단하고 대패했다. 카르타고인들은 추격을 계속하여 많은 반군을 죽이거나 포로로 잡았고 마침내 다리를 지키고 있는 요새를 점령했다.
이 승리로 하밀카르는 자유롭게 기동하고 주도권을 잡을 수 있었다. 이전에 반군에게 넘어갔던 마을과 도시에 맞서 그들을 카르타고에 다시 충성하게 만들었다. 스펜디우스는 튀니지 북서쪽 산에서 다시 하밀카르와 맞서기 위해 남은 병력을 재편성했고, 그 결과 하밀카르가 다시 승리했다. 스펜디우스는 탈영을 막기 위한 계략으로 하밀카르의 대열이 모두 지켜보는 가운데 카르타고 포로들을 고문하여 죽음에 이르게 하는 데 모두 참여하라고 명령하여 누구도 도망치거나 적에게 자비를 구하지 못하도록 용서할 수 없는 범죄에 연루되게 만들었다. 하밀카르는 그의 반군 포로들을 동료들 앞에서 코끼리들에게 짓밟아 죽게 했고, 이후 포로로 잡힌 모든 사람들도 마찬가지로 파견했다. 점점 더 격렬해지는 2년 간의 전쟁 끝에 반군은 포에니 군대에 의해 지쳐 결국 렙티스 파르바 전투에서 패배했다.
Hoyos, Dexter (2000). “Towards a Chronology of the 'Truceless War', 241–237 B.C.”. 《Rheinisches Museum für Philologie》 143 (3/4): 369–380. JSTOR41234468.
Hoyos, Dexter (2007). 《Truceless War: Carthage's Fight for Survival, 241 to 237 BC》. Leiden, Netherlands; Boston, Massachusetts: Brill. ISBN978-90-474-2192-4.
Hoyos, Dexter (2015) [2011]. 〈Carthage in Africa and Spain, 241–218〉. Hoyos, Dexter. 《A Companion to the Punic Wars》. Chichester, West Sussex: John Wiley & Sons. 204–222쪽. ISBN978-1-1190-2550-4.
Koon, Sam (2015) [2011]. 〈Phalanx and Legion: the "Face" of Punic War Battle〉. Hoyos, Dexter. 《A Companion to the Punic Wars》. Chichester, West Sussex: John Wiley & Sons. 77–94쪽. ISBN978-1-1190-2550-4.
Scullard, H. H. (2006) [1989]. 〈Carthage and Rome〉. Walbank, F. W.; Astin, A. E.; Frederiksen, M. W.; Ogilvie, R. M. 《Cambridge Ancient History》. 7, Part 2 2판. Cambridge: Cambridge University Press. 486–569쪽. ISBN978-0-521-23446-7.지원되지 않는 변수 무시됨: |name-list-style= (도움말)