Jabarkan Pertempuran dari Pertempuran Sungai Ebro

Setelah mencapai Sungai Ebro, armada Kartago berlabuh di dekat muara. Para pelaut dan awak meninggalkan kapal mereka untuk mencari makan, karena armadanya tidak memiliki kapal yang membawa perbekalan. Meskipun Hasdrubal telah menempatkan pengintai untuk mendeteksi aktivitas orang Romawi, Himilco tidak memiliki kapal di laut untuk mengintai kapal-kapal Romawi. Sepasang kapal Massalia menemukan armada Punisia saat bersandar dan menyelinap pergi tanpa terdeteksi untuk memperingatkan Gnaeus Scipio tentang kehadiran Kartago. Armada Romawi berlayar dari Tarraco dan diposisikan berjarak hanya 10 mil ke utara posisi Kartago ketika Gnaeus Scipio menerima informasi peringatan dari kapal Massalia. Gnaeus mengawaki kapalnya dengan legiun-legiun pilihan, kemudian bertolak untuk menyerang armada Punisia.

Para pengintai pasukan Hasdrubal mendeteksi armada Romawi yang mendekat dihadapan angkatan laut Punisia dan memperingatkan armadanya melalui tanda bahaya dengan sinyal api. Sebagian besar awak dan kru telah selesai mencari makan dan mereka terburu-buru mengatur kapalnya, lalu menjadi kacau balau. Terdapat sedikit koordinasi dan beberapa kapal menjadi kekurangan awak karena kejutan dari orang Romawi. Ketika Himilco berlayar, Hasdrubal mengatur pasukannya di pantai untuk memberikan dukungan kepada armadanya.

Roma tidak hanya memiliki keunggulan jumlah kejutan dan pasukan (40 Kartago melawan 55 kapal Romawi dan Massalia), tetapi efektivitas tempur Kartago tidak tercermin dalam jumlah armada kapalnya karena seperempat armada Kartago memiliki awak yang baru dilatih. Romawi membentuk 2 baris formasi armada dengan 35 kapal di depan dan 20 kapal Massalia di formasi belakang dengan kemampuan armadanya yang dapat mematahkan manuver armada Kartago yang superior. Orang-orang Romawi menyerang kapal-kapal Kartago saat mereka keluar dari sungai, kemudian menabrak dan menenggelamkan empat dari armadanya, lalu menaiki dan menangkap dua kapal lagi. Para awak Kartago kemudian putus asa, mendamparkan kapal mereka di pantai dan pasukannya tercerai berai saling mencari keselamatan. Orang-orang Romawi berjuang untuk menarik 23 kapal yang terdampar.