Cuộc chinh phục Hispania của La Mã

Hòa ước Ebro

Hamilcar được kế nhiệm bởi Hasdrubal Ngay Thẳng, con rể của ông, vào năm 226 TCN. Rome sau đó đã kí kết một hiệp ước với Hasbrubal "cùng với quy định rằng cả hai phe sẽ không mở rộng quyền thống trị của mình vượt quá sông Ebro, trong khi người Saguntine, nằm giữa các đế chế của hai dân tộc, sẽ được giữ sự độc lập". Cảm thấy lo ngại về sự bành trướng hơn nữa của người Carthage, các thành phố nằm ở phần phía bắc của khu vực ven biển phía đông đã liên minh với Rome để nhận được sự bảo vệ của nó. Do đó, sông Ebro được xác lập như là ranh giới cho các phạm vị ảnh hưởng của người Carthage và người La Mã. Thành phố Saguntum (Sagunto, trước đây là Murviedro) cũng đã liên minh với Rome. Nó nằm ở khoảng giữa đoạn từ sông Ebro tới Tân Carthage, (Cartago Nova, theo cách gọi của người La Mã, hoặc Qart Hadasht, Thành phố Mới, theo tiếng Phoenici - tại địa điểm ngày nay là Cartagena). Tân Carthage là một tiền đồn được Hasdrubal Ngay Thẳng thiết lập nên. Vào thời điểm đó, lãnh thổ của người Carthage nằm về phía nam của Saguntum. Hannibal, con trai của Hamilcar và là người kế nhiệm Hasdrubal, đã mở rộng lãnh thổ của người Carthage về phía bắc tới tận bờ sông Ebro. Người Saguntum lúc này đây nhận ra rằng họ đã bị bao quanh bởi lãnh thổ của người Carthage.

Chiến dịch đầu tiên

Vào năm 218 TCN, lực lượng viễn chinh trên đường tới Hispania đã dừng chân tại Massalia. Họ đã bị bất ngờ khi phát hiện ra rằng Hannibal đang ở sâu trong nội địa và trên đường hành quân đến Ý. Publius Cornelius Scipio liền phái 300 kỵ binh đi do thám. Hannibal lúc này đang vượt qua sông Rhone. Ông ta đã phái 500 kỵ binh người Numidia tiến về phía người La Mã để xác định số lượng và ý định của họ. Hai bên giao chiến với nhau và người La mã đã giành được chiến thắng sau một trận đánh đẫm máu. Hannibal sau đó quyết định tiếp tục cuộc hành trình đến Ý của ông. Còn Pulbius Cornelius thì lại quyết định quay trở lại Ý để chiến đấu với Hannibal trong khi người em trai Gnaeus Cornelius Scipio Calvus của ông ta tiếp tục hành quân đến Hispania cùng với phần lớn lực lượng viễn chinh và cập bến tại Emporion, (Empúries). Ông ta đã lôi kéo được toàn bộ các dân tộc sinh sống dọc theo bờ biển nằm ở phía bắc của sông Ebro đứng về phía của người La Mã bằng cách khôi phục lại các liên minh cũ và thành lập những liên minh mới. Ông ta còn tạo dựng được danh tiếng về sự khoan hồng mà nhờ đó giúp cho ông nhận được sự ủng hộ đến từ các bộ lạc hiếu chiến ở nội địa và miền núi. Một số đạo quân thiện chiến đã được tuyển mộ từ họ. Hanno, viên tướng cai quản vùng đất nằm ở phía bên kia sông Ebro, đã hạ trại gần người La Mã và khiêu chiến. Gnaeus Scipio vì muốn giao chiến với hai vị tướng Carthage một cách riêng rẽ (người kia là Hasdrubal Barca) nên đã chấp thuận. Trận chiến này được gọi là Trận Cissa, nó diễn ra ở gần Tarraco (Tarragona ngày nay). Không hề có một kế hoạch tài tình hay bất cứ một cuộc tập kích nào đã diễn ra, hai đội quân được tập hợp lại và dàn trận ngay trước mặt nhau. Với tỉ lệ 2-1 ít hơn, Hanno bị đánh bại tương đối dễ dàng và mất 6000 quân trong trận chiến này, 2.000 binh sĩ khác bao gồm cả những người đang canh giữ doanh trại đã bị bắt làm tù binh. Doanh trại này chứa tất cả trang bị mà Hannibal để lại. Hanno cùng với Indibilis, thủ lĩnh của người Ilergete (một bộ lạc sinh sống gần dãy núi Pyrenee) cũng đã bị bắt làm tù binh. Bản thân Indibilis còn là một vị thủ lĩnh hùng mạnh, người mà theo như Polybius là "bạo chúa của toàn bộ miền trung Iberia và một người ủng hộ tích cực của người Carthage", ông ta sẽ còn gây ra nhiều rắc rối cho người La Mã sau này.
Hasbrubal lúc này đã vượt qua sông Ebro cùng với 8000 bộ binh và 1.000 kị binh để tìm kiếm người La Mã, tuy vậy ông ta đã đến quá trễ và sau khi nhận được tin báo về thất bại của Hanno, ông ta đã đổi hướng đi ra phía biển. Khi biết được binh sĩ La Mã đang lang thang quanh vùng nông thôn, ông ta đã phái kị binh đi tấn công họ và giết được nhiều người La Mã và buộc họ phải bỏ chạy về lại tàu của mình. Ngay sau đó Hadrusbal rút quân về phía bên kia sông Ebro trước khi Gnaeus Scipio kịp quay trở lại. Sau khi trừng phạt các thuyền trưởng để nghiêm trị kỷ luật lỏng lẻo của họ, Gnaeus Scipio để lại một đội quân nhỏ ở Tarraco và đưa hạm đội quay trở lại Emporiae. Tuy nhiên, Hasbrubal sớm quay trở lại và kích động người Ilergetes, vốn đã giao nộp con tin cho Gnaeus Scipio, nổi dậy. Binh sĩ của họ đã tàn phá những cánh đồng của các đồng minh La mã. Gnaeus Scipio liền đưa quân ra khỏi doanh trại trú đông của mình và Hasbrubal lại rút lui một lần nữa. Sau đó, Scipio đã tàn phá lãnh thổ của người Ilergete, đánh đuổi họ tới tận thủ phủ Atanagrus rồi vây hãm nó. Ông buộc người Ilergete phải chịu khuất phục và đòi họ phải giao nộp con tin cùng tiền bạc. Tiếp đó, ông tấn công người Ausetani ở gần sông Ebro, họ vốn là đồng minh của người Carthage, và vây hãm thành phố của họ. Khi người Lacetani đem quân tới trợ giúp cho những người láng giềng của mình, ông đã phục kích và giết chết 12.000 người của họ. Và sau một cuộc vây hãm kéo dài trong ba mươi ngày tuyết rơi cùng với việc vị thủ lĩnh của người Ausetani là Amusicus bỏ trốn tới chỗ Hasbrubal, thành phố này đã đầu hàng và phải cống nạp 20 talent. Gnaeus Scipio sau đó quay lại trú đông ở Tarraco.
Vào mùa xuân năm 217 TCN, Hasdrubal đã tiến hành một cuộc viễn chinh về phía bắc sông Ebro nhằm vào vùng lãnh thổ của người La Mã. Hasdrubal tự mình chỉ huy quân đội, trong khi phó tướng Himilco của ông chỉ huy hạm đội. Trong lúc đó, Gnaeus Scipio lo sợ rằng quân đội của người Carthage đông hơn của mình nên đã quyết định giao chiến bằng hạm đội, mặc dù ông ta chỉ có đủ binh sĩ cho 35 chiếc tàu quinquereme. Khi hạm đội La Mã còn cách cửa sông Ebro tầm 10 dặm, hai chiếc tàu do thám của người Massila đã phát hiện ra vị trí hạm đội của người Carthage và báo lại cho Scipio biết. Gnaeus Scipio ngay lập tức khởi hành và tấn công hạm đội của người Carthage. Mặc dù lính trinh sát của quân đội Hasdrubal sớm phát hiện ra sự tiếp cận của hạm đội La Mã trước hải quân Punic và cảnh báo cho hạm đội của họ về sự nguy hiểm sắp tới thông qua các tín hiệu cháy thế nhưng do thủy thủ của họ rời tàu lên bờ tản mát từ trước đó cho nên họ đã thực hiện mọi thứ trong vội vã và các con tàu ra khơi một cách mất lộn xộn. Có rất ít sự phối hợp và một số con tàu không có đủ thủy thủ vì sự bất ngờ do người La Mã gây ra. Có hai con tàu của người Carthage đã bị chiếm và bốn cái khác bị đánh đắm trong trận đánh, trong khi 23 chiếc tàu khác bị người La Mã chiếm được sau khi thủy thủ đoàn của nó bỏ chạy lên bờ. Trận chiến này được gọi là trận sông Ebro. Hasbrubal sau đó đã rút quân về Carthago Nova trong khi người La Mã tiếp tục gương buồm đến Onusa, tại đây họ đổ bộ lên bờ để cướp bóc và tàn phá vùng đất này rồi hành quân hướng về Carthago Nova. Sau khi tàn phá khu vực lân cận và phóng hỏa các ngôi nhà nằm sát với những bức tường thành, người La Mã khởi hành tới Longuntica. Tại đây, họ tìm thấy một lượng lớn loại cỏ esparto được Hadrusbal thu thập cho hạm đội của ông ta. Không chỉ tàn phá khu vực ven biển, họ còn tấn công vào hòn đảo Ebusus. Tuy vậy, người La Mã lại thất bại khi tấn công vào thủ phủ của hòn đảo này, thay vào đó họ quay ra tàn phá vùng đồng quê, cướp phá và đốt trụi vài ngôi làng. Trước khi Gneaus Scipio khởi hành quay lại phía đông, các sứ giả đến từ quần đảo Baleares đã tới gặp ông để cầu hòa. Vào lúc này, hơn 120 bộ lạc đến từ khu vực sông Ebro và những vùng đất khác đã quy phục La Mã và phải giao nộp con tin. Tràn đầy tự tin, người La Mã còn hành quân tới tận đèo Castulo, trong khi Hadrusbal rút lui tới Lusitania. Dẫu vậy, sau khi người La Mã rời khỏi nơi này và rút về phía bờ biển, Mandonius và Indibilis kích động người  
Ilergete cướp phá những vùng đất của các đồng minh La Mã. Gneaus Scipio đã phái một quan bảo dân quân đội cùng với một đạo quân trợ chiến trang bị nhẹ tới ngăn chặn họ. Và chỉ sau một trận đánh nhỏ, người Ilergete đã bị đánh bại dễ dàng. Tuy thế, điều này đã tạo cơ hội cho Hadrusbal quay trở lại để bảo vệ các đồng minh ở phía nam sông Ebro của ông ta. Khi mà người Carthage đang đóng quân ở vùng đất của người Ilergavoni, còn người La Mã ở Nova, người Celtiberi đã xâm lược vùng đất gần Carthago Nova với một đạo quân hùng mạnh dưới sự xúi giục của người La Mã. Họ chiếm được ba thành phố và đánh bại ngay cả bản thân Hadusbal, giết 15000 người và bắt 4000 người khác làm tù binh.
Sau khi được cho phép kéo dài thời hạn chỉ huy quân đội, Pulbius Scipio đã tái hợp lại với người em trai của ông, và đem theo một đạo quân tiếp viện gồm 30 tàu chiến, 8.000 quân cùng một lượng lớn quân nhu. Bởi vì Hasdrubal đang phải bận rộn đối phó với người Celtiberi, hai anh em ông đã tiến quân đến Saguntum mà không gặp phải bất cứ sự kháng cự nào. Tại đây, họ biết được rằng tất cả các con tin đến từ những vùng đất khác nhau của Hispania mà được giao nộp cho Hannibal từ trước đó đang bị giam giữ trong thành trì dưới sự bảo vệ yếu ớt. Điều này ngăn cản nhiều bộ lạc ủng hộ cho Rome. Tuy thế, họ đã được giải thoát nhờ vào âm mưu phản bội của một người Saguntine tên là Abelux. Ông ta thuyết phục Bostar, viên sĩ quan chỉ huy của đội quân đồn trú người Carthage, rằng bằng cách cho phép các con tin trở về quê nhà sẽ giúp thu phục được lòng trung thành của các bộ lạc thông qua sự biết ơn thay vì nỗi sợ hãi như trước kia do người La Mã lúc này đang có mặt tại Hispania. Sau đó ông ta thông báo cho người La Mã về âm mưu của mình và giao các con tin lại cho họ. Tiếp theo sau đó, Publius và Cnaeus phân chia lực lượng của họ với nhau, Gnaeus Scipio phụ trách quân đội và Publius Scipio chỉ huy hạm đội. Hasdrubal lúc này cảm thấy không đủ sức mạnh để đối đầu với cả hai cho nên ông ta tự giữ mình an toàn bằng cách chiếm giữ các vị trí phòng thủ kiên cố và giữ khoảng cách với kẻ thù cho đến khi nhận được đạo quân cứu viện gồm 4000 bộ binh và 1000 kỵ binh từ Châu Phi. Sau đó, ông ta tiến quân tới gần hơn với vị trí của người La Mã và ra lệnh cho hạm đội phải sẵn sàng bảo vệ quần đảo Baleares và khu vực bờ biển. Tuy nhiên, ngay lúc ông ta đang chuẩn bị chiến dịch mới thì các thuyền trưởng của hạm đội đã đào ngũ sau khi bị chỉ trích nặng nề vì tội hèn nhát ở trận sông Ebro, họ vốn chưa bao giờ tỏ ra trung thành với những vị tướng của họ hoặc với người Carthage. Những người đào ngũ bắt đầu kích động người Tartesii và một số thành phố đã nổi dậy. Cuộc chiến đã được chuyển hướng từ người La Mã sang bộ tộc này, và Hasdrubal tiến vào lãnh thổ của họ cùng với một đội quân xâm lược. Sau khi ông giành được chiến thắng trong một trận đánh, người Tartessi liền đầu hàng. Không lâu sau đó, Carthage ra lệnh cho Hadrusbal phải đến Ý càng sớm càng tốt. Tin tức này lan truyền đi toàn bộ Hispania và có một cảm giác đó là tất cả dường như đều ủng hộ cho Rome. Hasdrubal ngay lập tức gửi một bức thư tới Carthage và nói tới những hệ lụy do tin đồn về sự khởi hành của ông ta đã gây ra, và nếu như ông ta thực sự rời khỏi Hispania thì toàn bộ vùng đất này sẽ rơi vào tay của người La Mã trước khi ông ta vượt qua sông Ebro. Hadrusbal còn nói rằng ông ta không có bất cứ đạo quân nào hoặc vị tướng nào có thể thế chỗ cho mình trong khi các vị tướng La Mã là những người mà ngay cả bản thân ông ta cũng khó có thể đối phó lại được. Nếu như muốn giữ được Hispania thì họ nên gửi ngay một vị tướng khác cùng với một đội quân hùng mạnh để thay thế cho ông ta.
Carthage sau đó phái Himilco tới Hispania cùng với một đạo quân lớn và một hạm đội. Ngay khi đặt chân đến Hispania, ông ta xây dựng một doanh trại kiên cố, kéo những con tàu của mình lên bờ và bao quanh chúng bằng một hệ thống thành lũy. Sau khi hoàn tất việc chuẩn bị, ông ta lựa chọn một đội kỵ binh tinh nhuệ rồi nhanh chóng băng qua các vùng đất thù địch để tới chỗ của Hadrusbal, tiến hành  hội đàm rồi quay trở về doanh trại của mình. Tiếp đó, Hadrusbal đòi hỏi các bộ lạc nằm dưới sự cai trị của ông phải cống nạp tiền bạc cho cuộc hành quân của mình. Ông ta biết rõ rằng Hannibal trước đó đã trả tiền cho các bộ lạc để có thể băng qua các vùng đất của họ cũng như   để tuyển mộ các lính đánh thuê người Gaul. Và sau khi thu thập được được đủ tiền bạc một cách vội vàng, ông đã khởi hành hướng tới sông Ebro. Ngay khi nhận được tin báo về việc này, hai anh em nhà Scipio đã lập tức dừng hết tất cả các vấn đề khác và tiến hành chuẩn bị để ngăn chặn không cho ông ta tiến xa hơn. Họ tin rằng nếu như Hannibal nhận được quân tiếp viện đến từ Hispania cùng với Hadrusbal, thì điều này sẽ là sự kết thúc của Rome. Tiếp đó, họ đã tập trung lực lượng của mình ở gần sông Ebro và vượt qua dòng sông. Sau khi cân nhắc lựa chọn giữa việc đem quân ngăn chặn Hadrusbal hoặc ngăn chặn cuộc hành quân của ông ta bằng cách tấn công các bộ lạc liên minh với người Carthage, hai anh em nhà Scipio đã lựa chọn phương án sau và chuẩn bị thực hiện một cuộc tấn công vào thành phố Hibera nằm gần sông Ebro, đây là thành phố giàu có nhất khu vực này. Tuy nhiên, thay vì đến cứu viện cho đồng minh của mình, Hadrusbal lại tấn công một thành phố mới trở thành đồng minh với người La Mã gần đây. Người La Mã đành từ bỏ cuộc vây hãm và tiến quân đến chỗ Hadrusbal. Trong vòng vài ngày, hai phe đóng trại cách nhau khoảng 5 dặm và chỉ diễn ra các cuộc giao tranh lẻ tẻ giữa hai bên trước khi trận chiến quyết định sảy đến. Người La Mã chia lực lượng của họ thành ba đạo, một số bộ binh nhẹ được bố trí ở giữa các hàng đầu của quân đoàn, trong khi số còn lại được bố trí ở giữa những người phía sau, kỵ binh của họ đóng ở hai bên cánh. Hadrusbal củng cố tuyến giữa của ông bằng người Hispania, trong khi cánh phải là người Carthage, cánh trái là người châu Phi và lính đánh thuê. Kỵ binh Numidia của ông ta được bố trí ở phía trước bộ binh Carthage, và số kỵ binh còn lại được bố trí ở phía trước binh sĩ châu Phi. Trong khi người La mã chiến đấu vì đất Ý, Rome và quê nhà của họ thì hầu hết binh lính của Hasdrubal là người Hispania, họ chỉ muốn chiến đấu ở Hispania hơn là hành quân đến Ý. Và khi người La Mã tấn công, họ đã quay đầu và bỏ chạy. Người Carthage sau đó bị đánh cho tan tác và Hadrusbal đã tháo chạy cùng với một số ít người theo sau. Không những vậy, doanh trại của họ còn bị người La Mã chiếm và cướp sạch. Chiến thắng này đã khiến cho các bộ lạc đang lưỡng lự ngả về phía Rome và ngăn cản không cho Hadrusbal có thể đến Ý.
Năm 215 TCN, Mago, em trai của Hannibal, đã chuẩn bị khởi hành tới Ý cùng một lực lượng gồm 12.000 bộ binh, 1500 kỵ binh và 20 con voi cùng với 60 tàu chiến. Tuy nhiên, sau khi nhận được tin báo về thất bại ở Hispania cùng với việc hầu hết các thành phố ở đây đã đứng về phía người La Mã, người Carthage quyết định phái ông ta tới Hispania thay vì Ý. Đúng lúc đó, họ nhận được tin báo rằng chỉ có một đạo quân nhỏ của người La Mã ở Sardinia và người Sardinia sẵn sàng nổi dậy nếu như họ có một người lãnh đạo. Vì thế, họ đã phái Mago tới Hispania cùng với đạo quân của ông ta và lựa chọn một người khác tên là Hadrusbal chỉ huy một đạo quân khác tương đương tới Sardinia. Sau khi đặt chân tới Hispania, Mago cùng với Hadrusbal và Hannibal, con trai của Bolmicar đã tấn công thành phố của người Illiturgi. Anh em nhà Scipio đã phải chịu tổn thất lớn mới có thể vượt qua được ba doanh trại của người Carthage để tới được thành phố này cùng với một lượng lớn ngũ cốc cho cư dân của thành phố. Họ còn động viên lòng can đảm của những cư dân thành phố. Tiếp đó, họ tấn công vào doanh trại của Hadrusbal, đây là doanh trại lớn nhất của người Carthage. Mago và Hannibal nhận định rằng trận chiến quyết định sẽ diễn ra tại đó cho nên họ đã vội vàng đem quân tới tiếp viện. Người Carthage có 60000 binh sĩ trong khi người La Mã chỉ có 16000 người. Tuy nhiên, người La Mã đã giành được một chiến thắng vang dội, người Carthage mất hơn 16000 người cùng với 7 voi chiến, người La Mã còn bắt được 3000 tù binh cùng với 1000 con ngựa và chỉ mất 5 người, không những vậy cả ba doanh trại của người Carthage đều bị chiếm mất. Sau thất bại này, người Carthage đã đem quân tới tấn công thành phố của người Intibili và tuyển thêm quân ở khu vực này để bù đắp cho những thiệt hại trước đó. Một trận chiến thứ hai đã nổ ra và kết quả của nó cũng tương tự như trận chiến trước đó, người Carthage mất 13000 binh sĩ, người La Mã bắt được hơn 2000 tù binh cùng chín con voi chiến. Lúc này, gần như toàn bộ các bộ lạc Hispania đều đứng về phía người La Mã.
Sang năm 214 TCN, cuộc chiến ở Hispania tiếp tục diễn ra với nhiều thành công khác nhau cho người La Mã. Trước khi người La Mã vượt sông Ebro, Mago và Hadrusbal đã đánh tan một đạo quân lớn của người Hispania. Người La Mã suýt chút nữa đã mất đi toàn bộ khu vực ở phía Tây sông Ebro nếu như Pulbius Cornelius Scipio không kịp vượt qua con sông này một cách nhanh chóng và củng cố lại những đồng minh đang do dự của họ. Ban đầu, ông ta đóng trại tại Castrum Album, và tập trung quân lương tại đây. Tuy nhiên, ở khu vực xung quanh vùng đất này lại đầy rẫy kẻ địch, và người La Mã đã tổn thất mất 2000 binh sĩ khi đang hành quân bởi kị binh của kẻ địch. Họ sau đó rút lui tới một vùng đất ít thù địch hơn và xây dựng một doanh trại tại ngọn núi Chiến Thắng (vị trí không rõ). Gnaeus Scipio sau đó tiến quân tới cùng với toàn bộ đạo quân của ông ta trong khi Hasdrubal, con của Gisgo cũng đem một đạo quân khác tới nơi. Người Carthage có ba vị tướng và dựng trại ở phía bên kia bờ sông đối diện với người La Mã. Publius Scipio đã đem theo một vài kỵ binh nhẹ đi do thám, nhưng ông đã bị người Carthage phát hiện ra. Mặc dù bị bao vây trên một ngọn đồi, ông ta đã được anh trai của mình giải cứu kịp thời.Castulo (một thành phố hùng mạnh và là đồng minh thân cận của người Carthage, Hannibal trước kia lấy một người vợ từ đó) đã đứng về phía người La Mã. Người Carthage sau đó quay ra tấn công người Illiturgi, do có một đạo quân đồn trú của người La Mã ở đó. Gnaeus Scipio liền đem một quân đoàn tới giải vây, và sau khi gây ra thiệt hại nặng cho kẻ địch, ông ta đã tiến được vào thành phố. Ngày tiếp theo, ông thực hiện một cuộc phá vây và giành được thắng lợi. Người Carthage mất hơn 12000 người trong hai trận đánh cùng với hơn 1000 người khác bị bắt làm tù binh.  Tiếp theo, họ tấn công Bigerra ở thượng nguồn sông Baetis vốn đang liên minh với Rome, nhưng khi Gnaeus Scipio xuất hiện, họ liền rút lui mà không giao chiến.
Người Carthage sau đó dời doanh trại của mình tới Munda, và người La Mã lập tức theo sau họ. Trận chiến giữa hai phe đã kéo dài suốt 4 giờ và người La Mã giành được một chiến thắng vang dội cho tới khi họ nhận được tín hiệu rút lui. Gnaeus Scipio bị thương ở bắp đùi bởi một ngọn lao và binh sĩ của ông đã lo sợ rằng vết thương này có thể khiến cho ông mất mạng. Nếu như điều này không sảy ra thì có lẽ doanh trại của người Carthage đã bị người La Mã chiếm được. Người Carthage mất khoảng 12000 người và 3000 người khác bị bắt làm tù binh. Sau thất bại này, họ rút lui tới Auringis, tuy nhiên người La Mã vẫn theo sau họ và không cho họ có thời gian để hồi phục sau thất bại. Một trận đánh khác lại diễn ra và Gnaeus đã được khuân ra chiến trường bằng một chiếc cáng. Người La Mã giành được một chiến thắng quyết định. Tuy nhiên, người Carthage lại có thể bù đắp thiệt hại của họ trên chiến trường một cách nhanh chóng bằng cách tuyển mộ từ những người Hispania. Hadrusbal đã phái người em trai Mago của ông ta đi chiêu mộ một đạo quân mới và khuyến khích những vị tướng của họ tiến hành một trận chiến khác. Dẫu vậy, họ một lần nữa bị đánh bại và mất 8000 người cùng 3 voi chiến, 1000 người khác cùng 8 voi chiến đã bị bắt. Hầu hết chiến lợi phẩm rơi vào tay của người Gaul và hai vị tù trưởng của họ là Moeniacoepto cùng Vismaro đã tử trận. Người La Mã tiếp đó đánh đuổi đội quân đồn trú của người Carthage khỏi Saguntum và trao lại thành phố này cho những cư dân cũ của nó. Trong khi đó, người Turdetani, vốn là nguyên nhân gây nên cuộc chiến tranh giữa Saguntum và Carthage, đã bị chinh phục và bán làm nô lệ; thành phố của họ đã hoàn toàn bị phá hủy.
Vào năm 213 TCN, Syphax, vua của người Masaesyli ở miền Tây Numidia (Algeria ngày nay), đã nổi dậy chống lại Carthage. Anh em nhà Scipio liền phái ba viên centurion tới để thiết lập liên minh với ông ta. Do người Numidia vốn có truyền thống chiến đấu bằng kị binh và không có bộ binh cho nên Syphax đã yêu cầu họ giúp đỡ để trang bị và huấn luyện bộ binh cho ông ta. Một trong số các viên sĩ quan La Mã tên là Statorius đã ở lại để làm cố vấn. Syphax còn phái sứ giả đến Hispania để xin sự chấp thuận từ các vị tướng La Mã và thuyết phục những người Numidia trong quân đội Carthage đào ngũ về phe người La Mã. Sự hiện diện của các sứ giả này ở Hispania tỏ ra vô cùng hữu ích cho người La Mã, điều này khiến cho nhiều người Numidia đào ngũ. Cùng lúc đó, Statorius đã xây dựng quân đội cho Syphax dựa theo khuôn mẫu của người La Mã và dạy họ cách xây dựng các công sự cùng những bài tập quân sự khác. Khi biết được về liên minh giữa Syphax và người La Mã, người Carthage đã phái sứ giả đến chỗ Gala, vua của người Massylii ở miền đông Numidia. Các sứ giả của Carthage đã thuyết phục Gala rằng Syphax liên minh với người La Mã là nhằm củng cố sức mạnh của ông ta và để chống lại họ, nếu như hợp sức với nhau thì họ sẽ dễ dàng đánh bại ông ta. Masinissa, người con trai 17 tuổi của Gala, đã thuyết phục cha mình liên minh với người Carthage và giao quyền chỉ huy cuộc chiến chống lại Syphax cho ông. Với sự giúp đỡ từ người Carthage, Masinissa giành được một chiến thắng lớn trước Syphax và có tới 30.000 người đã bỏ mạng trong trận đánh này. Syphax đã phải bỏ chạy tới chỗ của người Maurusii, một bộ lạc Numidia cư ngụ ở miền bắc Maroc và ở phía bên kia bờ biển đối diện với Gades. Tại nơi đây, ông ta nhanh chóng tập hợp được một đạo quân lớn. Tuy nhiên, trước khi Syphax có thể vượt biển đến Hispania, ông ta đã bị Masinissa đánh bại, lần này thì Masinissa không cần đến sự giúp đỡ của người Carthage. Trong khi đó ở Hispania, người La Mã đã tuyển mộ được lính đánh thuê người Celtiberi bằng cách trả cho họ đúng bằng số tiền mà người Carthage đồng ý trả để thuê họ. Đây là lần đầu tiên người La Mã có lính đánh thuê trong doanh trại của mình.
Trong suốt hai năm, không có bất cứ sự kiện nào đáng chú ý diễn ra ở Hispania, hầu hết những gì diễn ra đều được tiến hành thông qua các hoạt động ngoại giao hơn là bằng giao tranh. Mùa hè năm 212 TCN, hai vị tướng La Mã rời khỏi nơi trú đông của họ và thống nhất lực lượng của họ lại với nhau. Họ đã triệu tập một hội đồng và đi đến thống nhất rằng đây là lúc để kết thúc cuộc chiến tranh. Trước đó, người La Mã đã chiêu mộ 20.000 lính đánh thuê Celtiberi và họ cho rằng với lực lượng này họ sẽ đủ khả năng để kết thúc cuộc chiến. Trong khi đó, lực lượng của người Carthage gồm ba đạo quân. Hadrusbal Gisgo hợp nhất lực lượng của mình với Mago, họ hạ trại cách vị trí của người La Mã khoảng 5 ngày đường. Còn Hadrusbal thì lại đóng quân ở thành phố Amtorgis, và ở gần với người La Mã hơn. Do đó, các vị tướng La Mã muốn đánh bại ông ta trước, tuy vậy họ lại lo sợ rằng nếu như Hadrusbal thua trận thì Mago và Hadrusbal Gisgo có thể sẽ rút vào rừng núi và tiến hành chiến tranh du kích. Vì thế, họ quyết định phân chia lực lượng làm hai, Pulbius Scipio cùng với 2/3 số binh sĩ La Mã và đồng minh sẽ đối đầu với Mago và Hadrusbal Gisgo, trong khi Gnaeus Scipio chỉ huy 1/3 số binh sĩ La Mã và lính đánh thuê Celtiberi sẽ tấn công Hadrusbal Barca. Cả hai vị tướng cùng tiến quân đến Amtorgis và hạ trại ở phía bên kia bờ sông đối diện với người Carthage. Pulbius sau đó đưa quân đi trong khi Gnaeus tiếp tục đóng quân tại nơi này
Hasbrubal Barca lúc này nhận ra rằng đạo quân La Mã ở phía đối diện phần lớn lại là người Celtiberi và vì thế ông ta đã tiến hành lôi kéo họ đào ngũ. Các tù trưởng của người Celtiberi đã nhận được một khoản tiền lớn từ người Carthage, ngay sau đó họ lập tức lên đường quay trở về quê hương và bỏ mặc người La Mã. Sau khi đám lính đánh thuê người Celtiberi bỏ đi, Gnaeus Scipio quyết định rút quân tới vị trí xa nhất có thể. Người Carthage ngay lập tức vượt sông và tiến hành truy đuổi ông
Trong khi đó, Pulbius lại phải đối mặt với sự xuất hiện của Masinissa. Trước tiên, ông ta tìm cách ngăn chặn bước tiến của người La Mã bằng kỵ binh Numidia của mình và tấn công không ngừng cả ngày lẫn đêm. Masinissa không những tấn công những người đi xa khỏi doanh trại để tìm kiếm thức ăn và gỗ mà còn thực hiện các cuộc đột kích vào các tiền đồn và lính canh, điều này tạo ra sự sợ hãi và hỗn loạn. Vào ban đêm, Masinissa làm náo loạn doanh trại bằng các cuộc tấn công vào những cánh cổng và hàng rào. Hơn nữa, Pulbius Scipio còn nhận được tin báo rằng Indibilis đang đưa 7500 người Suessetani tới giúp người Carthage. Nhận ra bản thân đang bị bao vây từ mọi phía, Pulbius quyết định thực hiện một hành quân ban đêm để tấn công Indibilis và giao lại nhiệm vụ bảo vệ doanh trại cho Tiberius Fonteus cùng với một đạo quân nhỏ. Lúc đầu, người La Mã giành được lợi thế nhờ, tuy nhiên sau đó kỵ binh Numidia xuất hiện và tấn công vào hai bên sườn của họ. Khi người La Mã quay ra chống lại người Numidia thì người Carthage cũng đến nơi và tấn công vào phía sau của họ. Trong lúc đang chiến đấu và cổ vũ binh sĩ của mình chống lại kẻ địch, Pulbius đã bị một ngọn giáo của kẻ địch đâm trúng và tử trận. Tin này nhanh chóng lan ra khắp chiến trường và người La Mã tan vỡ bỏ chạy. Tuy nhiên, họ đã bị quân địch truy đuổi và tàn sát, gần như toàn bộ những người tử trận là do bị tàn sát khi bỏ chạy. Cuộc tàn sát này chỉ kết thúc khi đêm xuống Sau khi giành được thắng lợi, Hasdrubal và Mago đã đem quân đến hội quân với Hadrusbal Barca, họ nghĩ rằng với lực lượng này cuộc chiến tranh sẽ đi đến hồi kết. Mặc dù không nhận được tin báo về thất bại, Gnaeus nhận thức được rằng người em trai của mình đã bị đánh bại và do đó ông ta đã ra lệnh rút lui ngay trong đêm. Người La Mã đã đi được khá xa ngay trong đêm đó và tránh được kẻ địch. Tuy nhiên, khi mặt trời lên, người Carthage sau khi biết được người kẻ địch đã rút chạy, họ liền phái người Numidia truy đuổi người La Mã với tốc độ tối đa. Người Numidia sau đó đã bắt kịp người La Mã trước khi đêm xuống và liên tục tấn công vào hai bên cánh và hậu quân của họ buộc họ phải dừng lại để phòng thủ trong khi vẫn phải tiến quân để tránh bộ binh của người Carthage bắt kịp.  Khi đêm xuống, Scipio tập hợp lại binh sĩ của mình và đưa họ lên đóng quân trên một ngọn đồi. Quân trang và kỵ binh được bố trí ở trung tâm còn bộ binh dàn trận bao quanh. Ban đầu, họ không gặp nhiều khó khăn để đẩy lùi người Numidia, tuy nhiên khi ba đạo quân của người Carthage tới nơi, người La Mã nhận ra rằng họ không thể phòng thủ nơi này mà không có các công sự bao quanh. Ngọn đồi của họ lại rất trơ trụi và toàn là đá, nó không có bất cứ cây gỗ nào để giúp cho họ dựng hàng rào hoặc có đất để xây dựng thành lũy. Không những thế nó lại không quá dốc và vì thế có thể giúp cho kẻ địch tiếp cận dễ dàng. Vì vậy, người La Mã liền buộc toàn bộ yên ngựa và quân trang của họ tạo thành các chướng ngại vật. Ở những chỗ trống, họ lấp đầy bằng hành lý và đồ đạc. Người Carthage ban đầu đã gặp phải khó khăn trong việc vượt qua các chướng ngại vật của người La Mã, và bị trì hoãn trong một khoảng thời gian khá dài. Dẫu vậy, họ cuối cùng cũng loại bỏ được hệ thống phòng thủ của người La Mã và tràn vào doanh trại. Người La Mã đã bị tàn sát nhưng vẫn có nhiều người chạy thoát được vào khu rừng gần đó và tháo chạy về doanh trại do Fonteius chỉ huy. Tuy nhiên, Gnaeus Scipio thì lại tử trận trong trận đánh này.
Với thất bại này, người La Mã suýt chút nữa đã bị đánh đuổi khỏi Hispania nếu như Lucius Marcius, ông ta là một sĩ quan trong quân đội của Scipio, không kịp tập hợp lại tàn quân La Mã cùng những đạo quân đồn trú khác và hội quân với Tiberius Fonteius, người được giao trách nhiệm chỉ huy doanh trại của Pulbius Scipio. Sau khi hạ trại ở phía bắc của sông Ebro, các binh sĩ La Mã đã lựa chọn Lucius Marcius làm chỉ huy của họ. Ông ta sau đó liền tiến hành củng cố lại doanh trại và đảm bảo nguồn quân lương. Khi nghe tin Hadrusbal Gisgo vượt qua sông Ebro và sắp sửa tiến đến, ban đầu những người lính La Mã trở nên hoảng loạn, bật khóc và đập vào đầu của họ, một số giơ tay lên trời và quở trách các vị thần, một số nằm lăn ra đất và gọi tên các vị tướng cũ của họ bất chấp việc các đội trưởng và bản thân Marcius đã cố gắng làm cho họ trở nên bình tĩnh. Tuy nhiên, khi nghe báo hiệu về việc người Carthage đang tiến đến gần thành lũy, họ trở nên giận dữ, lao vào tấn công kẻ địch đang bất cẩn và lộn xộn. Điều này gây ra sự bất ngờ cho người Carthage. Bởi vì trước đó quân đội của người La Mã đã bị hủy diệt và các vị tướng của họ đều đã tử trận cho nên họ tự hỏi rằng những người này từ đâu ra và ai là người đã chỉ huy bọn họ. Bối rối và lúng túng trước cuộc tấn công bất ngờ này, người Carthage tháo chạy. Tuy nhiên, Marcius không tiếp tục truy kích và ra lệnh cho người La Mã rút lui về trại. Người Carthage sau đó nhận ra rằng người La Mã đã không tiếp tục truy đuổi cho nên họ trở nên coi thường và hành quân một cách ung dung về trại của mình. Không những thế họ còn tỏ ra cẩu thả trong việc canh gác doanh trại của mình. Marcius nhận ra điều này và nhanh chóng lập ra một kế hoạch. Ông ta nghĩ rằng việc tấn công doanh trại của Hadrusbal sẽ dễ dàng hơn bởi vì ông ta chỉ có một mình thay vì chờ cho đến lúc cả ba viên tướng của người Carthage hội quân. Các doanh trại khác của người Carthage cách vị trí của Hadrusbal khoảng 6 dặm. Nằm giữa các doanh trại này là một thung lũng rậm rạp, một cohort La Mã cùng với một số kỵ binh được bố trí mai phục ở đoạn giữa của con đường. Trong khi đó toàn bộ số binh sĩ còn lại hành quân một cách lặng lẽ trong đêm tối tới bên ngoài doanh trại của người Carthage. Người La Mã tiến vào doanh trại này mà không gặp phải bất cứ sự kháng cự nào do người Carthage không dựng trạm gác nào và cũng không có ai canh gác. Sau khi hiệu lệnh vang lên, người La Mã liền tàn sát những người đang say ngủ, họ còn phóng hỏa doanh trại và chặn hết các cánh cổng để ngăn không cho người Carthage trốn thoát. Những ai chạy thoát được khỏi cuộc tàn sát này thì lại bị lực lượng mai phục của người La Mã chặn đón và tiêu diệt. Sau khi chiếm được doanh trại này, người La Mã ngay lập tức hành quân đến doanh trại thứ hai. Doanh trại này cũng không được canh gác cẩn thận, một số binh sĩ của người Carthage còn bỏ đi tìm kiếm lương thực, gỗ và cướp bóc trong khi các binh sĩ ở những chốt canh gác lại không cầm vũ khí. Khi bị người La Mã tấn công và nhìn thấy những tấm khiên đầy máu của họ, người Carthage trở nên sợ hãi và bỏ chạy. Chỉ trong một đêm và một ngày, hai doanh trại của người Carthage đã bị người La Mã chiếm được. Livy ghi lại rằng theo bản dịch của Claudius, có đến 37.000 người Carthage đã bị giết và 1.830 người bị bắt cùng với một lượng lớn chiến lợi phẩm. Valerius Antias thì nói rằng chỉ có doanh trại của Mago đã bị chiếm cùng với 7.000 quân địch đã bị tiêu diệt và trong một trận chiến khác với Hasdrubal, người La Mã đã tiêu diệt 10000 quân địch và bắt 4380 người làm tù binh. Còn theo Piso, 5000 người đã bị giết trong một cuộc phục kích khi Mago truy đuổi người La Mã

Chiến dịch thứ hai

Vào năm 211 TCN, Viện nguyên lão La Mã đã phái Gaius Nero tới Hispania cùng với một đạo quân gồm 6.000 bộ binh và 300 kị binh người La Mã, ngoài ra còn có 6000 bộ binh và 600 kỵ binh đồng minh. Ông ta khởi hành tại Puteoli và đặt chân tới Hispania tại Tarraco. Tại đây, ông ta cho kéo các con tàu của mình lên bờ rồi sáp nhập thủy thủ đoàn vào đạo quân của mình. Tiếp theo, ông ta hành quân đến sông Ebro và hội quân với đạo quân của Tiberius Fonteius và Lucius Marcius rồi tiếp tục tiến binh. Hadrusbal Barca đang hạ trại ở vùng đất có tên gọi là Lapides Atri (tảng đá đen) thuộc lãnh thổ của người Auretani, nó nằm giữa các thành phố của người Iliturgis và Mentissa. Nero liền chiếm giữ hai đầu của con đường dẫn tới vùng đất này. Hadrusbal nhận ra bản thân mình bị mắc kẹt, liền phái một sứ giả tới chỗ Nero và hứa hẹn rằng nếu như Nero cho phép ông ta rời khỏi vị trí này, ông ta sẽ rút toàn bộ quân đội khỏi Hispania. Nero chấp thuận đề nghị này và Hadrusbal đã yêu cầu gặp mặt để viết ra các điều khoản. Hadrusbal tìm cách trì hoãn và kéo dài trong nhiều ngày để cho quân đội của ông ta có thể rút lui một cách từ từ theo từng đội nhỏ vào ban đêm. Khi mà gần như toàn bộ đạo quân đã rút khỏi, Hadrusbal liền gửi thư cho Nero và lừa dối rằng cuộc gặp mặt ngày hôm đó sẽ hoãn lại do đó là một ngày bị cấm theo tôn giáo của người Carthage. Sau khi người La Mã bị mắc lừa, Hadrusbal liền trốn thoát cùng với số quân còn lại. Khi nhận ra mình bị lừa gạt, Nero liền đem quân truy đuổi và khiêu chiến với Hadrusbal nhưng ông ta từ chối. Chỉ có một vài cuộc giao tranh nhỏ diễn ra giữa hậu quân của người Carthage và quân tiên phong của người La Mã
Các bộ lạc Hispania mà nổi loạn sau khi anh em Scipio thua trận đã không còn tiếp tục trung thành với người La Mã nữa. Viện nguyên lão sau đó đã quyết định phái một vị tổng tư lệnh mới và tăng thêm quân đến Hispania. Tuy nhiên, họ lại cảm thấy thiếu chắc chắn về việc nên bổ nhiệm ai sau khi đã mất đi hai vị tướng tài năng chỉ trong vòng có ba mươi ngày và việc bổ nhiệm này đòi hỏi một sự cẩn trọng đặc biệt. Cuối cùng họ quyết định việc lựa chọn này sẽ do người dân bỏ phiếu. Vào ngày bỏ phiếu, Publius Cornelius Scipio, con trai và cháu trai của hai anh em nhà Scipio, lúc này mới chỉ 24 tuổi và không nắm giữ chức vụ quan trọng nào, đã tự mình đứng ra ứng cử. Ông ta đã được bầu chọn một cách nhất trí. Livy không giải thích lý do cho quyết định này hoặc về cuộc bầu cử với tiền lệ chưa từng có đó là ứng cử viên chưa đạt đến độ tuổi yêu cầu để được nắm quyền chỉ huy. Lực lượng tăng viện của Scipio gồm có 10000 bộ binh và 1000 kỵ binh, Marcus Junius Silianus được bổ nhiệm làm chỉ huy phó để giúp đỡ Scipio do ông còn trẻ tuổi. Ông khởi hành từ cửa sông Tiber cùng với 35 tàu quinquereme và đi dọc theo bờ biển Etruscan, vượt qua Vịnh Gaul rồi đặt chân đến Emporiae. Tại đây, ông đặt chân lên bờ rồi hành quân đến Tarraco và ra lệnh cho hạm đội theo sau ông. Tại Tarraco, ông đã gặp gỡ các sứ giả đến từ những bộ lạc đồng minh. Họ thông báo cho ông biết rằng các bộ lạc trở nên bất an do tình thế của cuộc chiến tranh đã đảo chiều. Tiếp theo, Scipio đã tới thăm các bộ lạc đồng minh và kiểm tra các doanh trại trú đông của quân đội. Ông ca ngợi họ một cách nồng nhiệt vì đã giữ vững được vị thế của họ sau những đợt tấn công ghê gớm và ngăn không cho kẻ địch vượt qua sông Ebro, do đó đoạt lấy bất cứ lợi thế nào mà họ đạt được từ những chiến thắng của mình. Ngay sau đó, Silanus thay thế Nero và đạo quân mới được phái tới các doanh trại trú đông. Sau khi hoàn tất các chuyến thăm và thanh tra cần thiết cũng như việc chuẩn bị cho chiến dịch sắp tới, Scipio quay trở về Tarraco. Tương tự như vậy, người Carthage cũng rút quân tới những doanh trại trú đông của họ: Hasdrubal Gisgo rút quân đến Gades nằm trên bờ biển phía Nam, Mago ở khu vực nội địa phía trên khu rừng Castulo, Hasdrubal Barca ở gần Saguntum.
Mùa xuân năm 210 TCN, Scipio ra lệnh cho các đạo quân liên minh phải tập trung ở Tarraco. Sau đó, ông đưa hạm đội tới khu vực cửa sông Ebro và ra lệnh cho các quân đoàn của mình tập trung lại từ các doanh trại trú đông. Sau khi đến nơi, Scipio thực hiện một cuộc diễu binh và phát biểu một bài diễn văn để động viên tinh thần binh sĩ. Tiếp đó, ông vượt qua sông Ebro cùng với 25000 bộ binh và 2000 kỵ binh trong khi Silanus được giao trọng trách bảo vệ khu vực phía bắc sông Ebro với 3000 bộ binh và 300 kỵ binh. Một số sĩ quan cố gắng thuyết phục ông nên tấn công đạo quân Carthage gần nhất, tuy nhiên Scipio lại cho rằng điều đó chỉ khiến người Carthage tập trung để chống lại mình, và ông không thể đối chọi lại cả ba cùng lúc. Do vậy, Scipio quyết định tấn công vào Carthago Nova, đây là một thành trì quan trọng của người Carthage và là nơi cất giữ những kho tàng chiến tranh, vũ khí, con tin đến từ tất cả các vùng của Hispania. Hơn nữa nó còn là cảng duy nhất ở khu vực này có thể chứa được một hạm đội lớn. Scipio chỉ nói cho duy nhất Gaius Laelius biết về kế hoạch của mình, để cho hạm đội do ông ta chỉ huy có thể tiến vào bến cảng đúng vào thời điểm quân đội của ông tới nơi. Sau bảy ngày hành quân, cả quân bộ và hải quân của người La Mã đã đến nơi cùng lúc. Scipio cho hạ trại đối diện với mặt phía bắc của thành phố. Để chống lại các cuộc tấn công nhằm vào hậu phương, người La Mã đã xây dựng một lũy đôi trong khi phía trước của doanh trại được bảo vệ bởi địa hình. Scipio còn đưa hạm đội vào trong bến cảng để nhằm phong tỏa thành phố này bằng đường biển, sau đó ông căn dặn các thuyền trưởng phải canh gác cẩn thận đề phòng người Carthage phá vây vào ban đêm. Về phần người Carthage, thành phố Carthago Nova của họ nằm trên một bán đảo, về phía đông của nó là một vịnh nhỏ ăn sâu vào đất liền khoảng 2,5 dặm. Phía Tây của nó được bao bọc bởi một đầm nước nông. Có một eo đất dài khoảng 1/4 dặm nối thành phố này với đất liền. Mago, viên tướng chỉ huy người Carthage, đã bố trí 2000 người dân thành phố đứng gác đối diện với doanh trại của người La Mã, 500 lính đóng giữ khu pháo đài, trong khi 500 người khác đóng giữ trên đỉnh đồi, hướng về phía đông. Những người còn lại trong thành phố được lệnh phải sẵn sàng khi có tình huống khẩn cấp sảy ra. Khi cánh cổng của thành phố được mở, những người đang đứng gác đối diện với người La Mã đã được lệnh tiến về phía doanh trại của kẻ địch. Ban đầu, người La Mã được lệnh rút lui một đoạn ngắn để lại gần lực lượng tiếp viện đang được phái đến. Sau khi có thêm viện binh, người La Mã đã khiến cho người Carthage phải rút chạy. Sự hỗn loạn và kinh hãi lan cả vào thành phố, nhiều binh sĩ và những người phòng thủ bỏ chạy khỏi các bức tường thành và vị trí của họ. Scipio lúc này đang đứng trên một ngọn đồi, đã thấy rằng nhiều đoạn tường thành không còn ai bảo vệ. Ông triệu tập toàn bộ lực lượng trong doanh trại và ra lệnh mang các chiếc thang tới. Không những thế, ông còn lại gần tường thành để cổ vũ binh sĩ và ra lệnh cho họ. Đồng thời, binh sĩ La Mã từ hạm đội của họ cũng bắt đầu tấn công thành phố từ phía biển bằng thang. Trong khi đó, viên tướng của người Carthage đã sử dụng những binh sĩ chính quy của mình để củng cố những bức tường của thành phố. Không những vậy, những chiếc thang của người La Mã lại không đủ dài để vươn tới đỉnh của các bức tường thành, còn những chiếc thang đủ dài thì lại yếu, khiến cho người La Mã không thể trèo lên được tường thành, nhiều người đã bị ngã rơi xuống. Điều này buộc người La Mã phải rút lui. Tuy nhiên, Scipio sau đó ra lệnh cho những người khỏe mạnh giữ lấy các chiếc thang thay thế cho những người đã mệt mỏi và bị thương để thực hiện một cuộc tấn công quyết liệt khác nhằm vào thành phố. Những ngư dân của Tarraco kể với ông rằng khi nước thủy triều xuống, họ có thể tiếp cận tường thành dễ dàng từ phía đầm nước. Vào thời điểm giữa trưa, nước thủy triều xuống cùng với những cơn gió thổi mạnh từ phía bắc khiến cho đầm nước này trở nên nông hơn. Scipio liền dẫn theo 500 binh sĩ băng qua giữa đầm tới tận tường thành. Không có bất cứ công sự nào được xây dựng ở phía này do người Carthage cho rằng nó đã được bảo vệ bởi đầm nước và những người phòng thủ lại cũng đang tập trung ở phía bên kia. Do đó, người La Mã đã tiến vào thành phố mà không gặp phải bất cứ sự kháng cự nào và tiến đến chỗ cánh cổng nơi cuộc chiến đang diễn ra. Bị tấn công từ cả phía trước và đằng sau, người Carthage tan vỡ bỏ chạy. Cánh cổng thì bị đập vỡ thành từng mảnh từ cả hai phía. Trong khi những người tiến qua cổng thành thì hành quân tới khu chợ, những người La Mã vượt qua tường thành thì lại tiến hành tàn sát cư dân của thành phố. Người Carthage lúc này rút lui theo hai hướng, một bộ phận rút về ngọn đồi phía đông thành phố được phòng thủ bởi 500 binh sĩ, trong khi những người khác rút về pháo đài nơi Mago đang chiếm giữ. Scipio liền phái một đạo quân tới chiếm ngọn đồi trước tiên, và đưa số binh sĩ còn lại tới tấn công pháo đài. Khi nhận ra rằng toàn bộ thành phố đã bị chiếm, Mago liền đầu hàng, khi đó cuộc tàn sát mới chấm dứt Có tới 10000 người bị bắt làm tù binh. Scipio trả tự do cho những công dân của thành phố và trao trả lại tài sản cho họ. Những người không phải là công dân và nô lệ đã được bổ sung vào đội ngũ tay chèo của hạm đội, ngoài ra 2.000 thợ thủ công đã bị bắt làm nô lệ, họ sẽ được trả tự do nếu như họ chế tạo khí cụ chiến tranh cho người La Mã. Scipio còn đối xử tốt với các con tin người Hispania bị giữ ở trong thành phố này. Ông đã thu giữ được một số lượng lớn những khí cụ chiến tranh và 80 tàu chiến. Ngoài ra người La Mã còn thu giữ được một lượng lớn vàng bạc cùng với 63 thuyền buôn với ngũ cốc, vũ khí, đồng, gỗ đóng thuyền, vải lanh và cỏ esparto. Đây là một chiến thắng có tầm quan trọng to lớn về mặt chiến lược.
Sau đó, Scipio sắp xếp để cho người thân và bạn bè của những con tin bị người Carthage giam giữ tới đón họ, qua đó ông khôi phục lại mối quan hệ với các bộ tộc này. Vợ của Mandonius và con gái của Indibilis, thủ lĩnh của người Ilergetes, cũng nằm trong số đó, Scipio đã cam kết bảo vệ và đối xử tốt với họ. Một ví dụ khác nữa về nỗ lực của Scipio trong việc thiết lập mối quan hệ tốt với những bộ lạc địa phương có thể được nhận thấy trong câu chuyện về một người phụ nữ trẻ bị bắt. Ông biết được rằng người phụ nữ này đã đính hôn với Aluccius, một quý tộc trẻ tuổi người Celtiberi. Scipio liền gửi thư cho cha mẹ và vị hôn phu của bà. Trong thư, ông nói với vị hôn phu kia rằng người phụ nữ của ông ta đã được đối xử một cách tôn trọng và rằng người phụ nữ này  được dành riêng cho ông ta vì thế bà có thể được trao trả lại cho ông ta một cách nguyên vẹn. Đổi lại, Scipio yêu cầu ông ta trở thành một người bạn của Rome. Aluccius trả lời rằng ông ta không thể báo đáp một cách tương xứng cho sự xúc động của mình. Cha mẹ của người phụ nữ này cũng mang tới rất nhiều vàng để làm tiền chuộc. Khi người phụ nữ này được trả tự do, họ cầu xin Scipio chấp nhận nó như một món quà. Scipio chấp nhận nó rồi ban tặng cho Aluccius như một món quà cưới. Sau khi quay trở về quê nhà, Aluccius tập hợp người của mình rồi mang tới cho Scipio một lực lượng được tuyển chọn kỹ lưỡng gồm 1.400 người. Một khi đã giải quyết xong vấn đề tù binh, con tin và chiến lợi phẩm, Scipio liền phái Laelius quay trở về Rome để báo tin thắng trận, ngoài ra còn đưa theo Mago và 15 vị nguyên lão Carthage. Tiếp theo, ông dành một vài ngày để rèn luyện binh sĩ và hạm đội. Sau đó, Scipio lên đường quay trở về Tarraco. Khi về tới nơi, ông liền triệu tập toàn bộ các đồng minh, cũ và mới, hầu hết tất cả các bộ lạc ở phía Nam sông Ebro đều tuân lệnh cùng với nhiều bộ lạc khác ở phía Bắc.
Scipio đã dành toàn bộ mùa đông để lôi kéo các bộ lạc bằng cách mua chuộc hoặc thông qua việc khôi phục những người từng bị bắt làm con tin hoặc tù nhân. Vào đầu mùa hè năm 209 TCN, Edesco, tù trưởng của người Edetani đã tới thăm Scipio ở Tarraco. Ngoài lý do là vợ và con của ông ta đang nằm trong tay của người La Mã, một lý do khác nữa là ông ta nhận thấy tình thế đã thay đổi theo chiều hướng có lợi cho người La Mã. Tương tự như vậy, Indibilis và Mandonius, hai vị thủ lĩnh của người Ilergetes, đã rời bỏ doanh trại của Hasdrubal và đem quân tới chỗ Scipio. Hadrusbal nhận ra rằng kẻ thù của ông ta đang ngày một mạnh hơn trong khi lực lượng của mình đang suy yếu dần, do đó ông ta quyết định thực hiện một bước đi táo bạo để ngăn chặn điều đó tiếp diễn. Về phần Scipio, ông ta muốn giao chiến với các vị tướng của người Carthage một cách riêng biệt. Vì thế, ông ta đem quân rời Tarraco và tiến thẳng tới chỗ đối phương. Trên đường hành quân, Scipio đã gặp gỡ Indibilis và Mandonius. Sau khi trao trả vợ con cho họ, Scipio thiết lập một hiệp ước với cả hai. Họ đã cùng chia sẻ doanh trại với người La Mã và giữ vai trò là người dẫn đường cho đến khi chạm trán người Carthage.Polybius ghi lại rằng Hasdrubal đã bất hòa với các tướng lĩnh Carthage khác. Đây là một trong những điều mà ông ta lo lắng, cùng với sự đào ngũ của những người bản địa và Indibilis. Hadrusbal bèn quyết định chạm trán với kẻ địch trên chiến trường và nếu như thua trận thì ông ta sẽ rút quân tới Gaul, tuyển mộ nhiều người bản xứ nhất có thể được và hành quân đến Ý để tái hợp với người anh trai Hannibal. Ông ta hạ trại ở gần thành phố Baecula, nằm trong khu vực Castulo (gần Linares ngày nay). Điều này dẫn tới trận Baecula. Theo Polybius, khi nghe tin báo về sự xuất hiện của người La Mã, ông ta di chuyển doanh trại của mình tới địa điểm mà đằng sau của doanh trại được bảo vệ bởi một dòng sông và phía trước của nó là một sườn đồi. Ông ta còn bố trí một lực lượng bộ binh nhẹ ở trên sườn đồi này. Scipio nhận ra vị trí thuận lợi của doanh trại này và đã chờ đợi hai ngày, nhưng sau đó ông ta lo lắng về việc Mago và Hasbrubal Gisgo có thể xuất hiện cho nên ông ta đã hành động vào ngày thứ ba. Ông ta phái bộ binh nhẹ và một đội bộ binh nặng được lựa chọn cẩn thận để chống lại lực lượng của quân địch trên sườn đồi. Khi Hasdrubal chứng kiến binh sĩ của mình rơi vào thế yếu, ông ta đã dẫn binh sĩ của mình tới chỗ sườn đồi. Scipio liền phái toàn bộ bộ binh nhẹ của mình đi hỗ trợ. Ông ta dẫn theo một nửa số đó, đi dọc theo sườn đồi và tấn công vào bên trái của quân địch, còn một nửa số binh sĩ còn lại cũng thực hiện tương tự và tấn công vào phía bên phải. Lúc này, Hasdrubal vẫn đang dẫn toàn bộ binh sĩ của mình ra khỏi doanh trại. Ông ta nghĩ rằng quân địch sẽ không tấn công vào vị trí kiên cố của mình và bây giờ, với cuộc tấn công bất ngờ này, ông ta đã triển khai quân đội của mình quá muộn. Do hai bên cánh của ông ta vẫn chưa được chiếm giữ, cho nên người La Mã đã leo lên sườn đồi thành công. Họ xông vào quân địch còn đang mải thiết lập đội hình và khiến cho kẻ địch phải bỏ chạy.
Livius lại ghi chép khác về trận đánh này. Ở phía đằng trước doanh trại của người Carthage có các đơn vị tiền đồn kỵ binh. Scipio liền phái một đội quân tiên phong trang bị nhẹ đi tấn công họ trước khi lựa chọn địa điểm cho doanh trại của mình. Kỵ binh của người Carthage bị đẩy lùi về doanh trại của họ. Vào ban đêm, Hasdrubal đưa quân đội của ông ta lên đóng quân ở một ngọn đồi có đỉnh bằng phẳng, phía đằng sau nó là một con sông, và một gờ dốc ở phía trước và hai bên. Phía bên dưới nó là một khu vực thấp hơn và hơi nghiêng được bao quanh bởi một rìa núi mà rất khó để leo lên. Ngày hôm sau, người La Mã dàn trận, và Hasdrubal phái kỵ binh Numidia cùng lính Baleares và Châu Phi được trang bị nhẹ tới khu vực đồng thấp hơn. Scipio phái một đội quân tới giữ lối vào khu vực thung lũng sông, và một đạo quân khác tới chặn con đường dẫn lên đồi. Sau đó ông bắt đầu tiến về phía những binh sĩ của người Carthage đang đóng ở khu vực bờ dốc của ngọn đồi cùng với các binh sĩ trang bị nhẹ của mình, họ là những người đã đánh bại các đơn vị của quân địch vào ngày hôm trước. Bất chấp gần như bị áp đảo bởi một trận mưa lao và đá cùng với sự khó khăn cuộc việc trèo lên, Scipio là người đầu tiên đặt chân lên tới đỉnh của khu vực thấp hơn và ngay khi vừa lên đến nơi, ông đã đánh bật những binh sĩ trang bị nhẹ của quân địch, vốn không quen với việc chiến đấu tay đôi. Họ đã bị đẩy lùi về khu vực cao hơn của ngọn đồi. Scipio sau đó chia đôi số binh sĩ của mình, ông ta đi vòng sang phía bên trái và phái Laelius chỉ huy số binh sĩ còn lại đi vòng sang bên phải của ngọn đồi để tìm một đường lên dễ dàng hơn. Ông ta đột kích vào cánh phải của quân địch, khiến cho họ rơi vào tình trạng rối loạn. Trong khi đó, Laelius cũng đã trèo lên đến đỉnh ở phía bên kia. Người Carthage sau đó bị đánh tan tác và mất đi 8000 người Sau thất bại này, Hadrusbal đưa toàn bộ tiền bạc và voi chiến của mình, cùng với tất cả tàn quân mà ông ta thu thập được rồi hành quân thẳng tiến dọc theo sông Tagus hướng đến dãy Pyrenee.
Ngoài ra còn có sự khác biệt về thời gian giữa hai tác giả. Polybius ghi lại rằng những sự kiện này diễn ra vào năm 208 TCN, trong khi Livius cho rằng chúng diễn ra vào năm 209 TCN. Cả hai tác giả đều ghi lại là Scipio đã chiếm giữ doanh trại và bắt được 10.000 bộ binh cùng với 2.000 kỵ binh làm tù binh. Livius còn nói thêm rằng ông ta đã trả tự do và cho phép những người bản địa quay về nhà trong khi những người châu Phi bị bán làm nô lệ, không những vậy các tù binh người bản xứ đã chào mừng ông như là một vị vua. Polybius đã viết rằng các bộ lạc trong khu vực mà vẫn còn là đồng minh của người Carthage, lúc này đến để quy phục người La Mã và chào mừng ông như là một vị vua. Cả hai tác giả đều viết rằng Scipio nói với họ là ông không muốn được gọi là vua và ông muốn được gọi là "imperator" (vị tướng chiến thắng). Theo Polybius, chính tại đây Edeco đã thể hiện sự thần phục của ông ta. Livius nói thêm rằng Scipio đã tặng quà cho các vị thủ lĩnh người Hispania và mời Indibilis lựa chọn 300 con ngựa trong số những con ngựa mà người La Mã thu được. Trong số các tù binh châu Phi có một người cháu của Masinissa, chỉ huy lực lượng kỵ binh Numidia liên minh với người Carthage và là con trai của vua Numidia. Scipio đã cho phép vị hoàng tử này quay trở về chỗ người chú của mình và cho người hộ tống ông ta.
Sau trận chiến này, một cuộc họp đã được tổ chức. Một số người cho rằng họ nên truy đuổi Hadrusbal, tuy nhiên Scipio cho rằng đây là một hành động mạo hiểm bởi vì Mago và Hadrusbal Gisgo có thể hội quân với ông ta. Sau đó, Scipio phái một đạo quân đi chiếm các con đèo của dãy Pyrenee và dành thời gian còn lại của mùa hè để đón nhận sự thần phục của các bộ lạc Hispania. Vài ngày sau khi Scipio rời khỏi khu vực Castulo và quay trở về Tarraco, Hadrusbal Gisgo và Mago mới tới hội quân với Hadrusbal. Tuy vậy, họ đã đến quá muộn. Tiếp đó, họ tổ chức một cuộc họp để bàn luận về cách thức tiếp tục cuộc chiến. Hasdrubal Gisgo cho rằng các dân tộc ở dọc theo bờ biển phía nam của Hispania vẫn chưa biết đến những chiến thắng của người La Mã và do đó họ vẫn còn trung thành với Carthage. Còn Hadrusbal Barca và Mago thì lại nghĩ rằng bằng cách đưa toàn bộ binh sĩ người Hispania trong quân đội của họ tới những nơi xa xôi nhất của Hispania hoặc tới Gaul thì mới có thể ngăn chặn sự đào ngũ của họ, mà nguyên nhân của nó là từ cách đối sử rộng lượng của Scipio đối với những bộ lạc bản xứ. Không cần đến sự phê chuẩn của viện nguyên lão Carthage, họ quyết định rằng Hadrusbal phải hành quân đến Ý, do đó sẽ đưa toàn bộ binh sĩ Hispania rời khỏi Hispania và "xa khỏi sức quyến rũ từ cái tên Scipio". Quân đội của Hadrusbal Barca vốn bị suy yếu bởi tổn thất từ những cuộc chiến gần đây và sự đào ngũ, đã được khôi phục lại đủ quân số. Mago đã giao lại quân đội của ông ta cho Hasdrubal Gisgo và đi đến quần đảo Balearic để chiêu mộ lính đánh thuê ở đó. Hasdrubal Gisgo đưa quân tới Lusitania và tránh bất cứ sự xung đột nào với người La Mã. Một lực lượng gồm 3.000 kỵ binh tinh nhuệ đã được giao cho Masinissa, ông ta sẽ đem quân tới miền Tây Hispania để trợ giúp cho các bộ lạc đồng minh và tàn phá các vùng lãnh thổ thù địch.
Theo Livius, có vẻ như không có trận chiến nào xảy ra tại Hispania vào năm 208 TCN. Quyền chỉ huy của Publius Scipio và Marcus Silianus được kéo dài thêm một năm và Scipio đã được lệnh gửi 50 trong tổng số 80 chiếc tàu của ông đến Sardinia do những lo ngại về việc Carthage chuẩn bị các cuộc tấn công bằng hải quân vào Ý, Sicily và Sardinia. Tuy nhiên, vào năm 207 trước Công nguyên, các trận chiến lại tiếp tục diễn ra. Lúc này Hasdrubal Gisgo đã rút quân tới khu vực duyên hải Gades (Cadiz) còn Scipio thì lại kiểm soát phần bờ biển phía đông. Một viên tướng mới tên là Hanno đã tới thay thế Hasdrubal Barca và đem theo một đội quân mới đến từ châu Phi. Ông ta hành quân đến Celtiberia (nằm ở phía đông khu vực trung tâm của Hispania, bên cạnh lãnh thổ của người La Mã) và tuyển mộ một đạo quân lớn. Scipio liền phái Marcus Silianus cùng với 10.000 bộ binh và 500 kỵ binh tới chống lại ông ta. Mặc dù Silianus hành quân với toàn bộ tốc độ, cuộc hành quân của ông ta đã bị cản trở bởi những con đường xấu và những ngọn đèo núi hẹp. Tuy nhiên, nhờ vào sự dẫn đường của những người Celtiberi đào ngũ, ông ta đã tìm được vị trí của quân địch. Khi còn cách quân địch 10 dặm, những người dẫn đường nói cho ông ta biết rằng có hai doanh trại nằm dọc theo con đường, bên trái là doanh trại của người Celtiberi với quân số 9000 người còn bên phải là doanh trại của người Carthage. Trong khi doanh trại của người Carthage được canh gác cẩn thận và có các tiền đồn, doanh trại của người Celtiberi thì lại vô kỷ luật và không được canh gác. Silianus quyết định tấn công doanh trại của người Celtiberi trước tiên và cố gắng tránh bị tiền đồn của người Carthage phát hiện.
Khi còn cách doanh trại đối phương khoảng 3 dặm đường và không bị phát hiện, Silianus cho binh sĩ của mình dừng lại ở một thung lũng và ăn uống. Sau khi chuẩn bị xong, họ liền tiến quân. Người Celtiberi chỉ phát hiện ra khi người La Mã cách họ chừng 1 dặm và họ vội vàng chuẩn bị cho trận chiến. Ngay khi nghe thấy tiếng la hét và sự hỗn loạn, Mago vội vàng tới doanh trại này để nắm quyền chỉ huy. Lực lượng chủ lực của người Celtiberi gồm 4000 người với khiên và 200 kỵ binh. Mago bố trí họ đóng ở phía trước trong khi lực lượng còn lại là bộ binh nhẹ đóng ở phía sau làm quân dự bị. Sau đó, ông ta dẫn họ ra khỏi doanh trại, tuy nhiên khi chỉ vừa mới vượt qua khỏi chiến lũy, người La Mã đã phóng những ngọn lao vào họ. Người Celtiberi đã dừng lại để tránh rồi đáp trả lại bằng những ngọn lao của họ. Người La Mã xếp chồng những chiếc khiên của họ lên nhau để chống đỡ rồi tiền lại gần để giao chiến bằng gươm. Người Celtiberi nhận ra rằng sự linh động và nhanh nhẹn của họ tỏ ra vô dụng trên địa hình gồ ghề trong khi người La Mã vốn quen với việc chiến đấu đứng tại chỗ lại không gặp phải vấn đề gì ngoại trừ đôi khi hàng ngũ của họ bị phá vỡ khi di chuyển qua những nơi hẹp hoặc các bụi cây. Tại đó, họ phải chiến đấu đơn lẻ hoặc theo cặp. Tuy nhiên, những chướng ngại này cũng gây trở ngại cho sự rút chạy của quân địch. Hầu hết bộ binh nặng của người Celtiberi đã bị tiêu diệt, khi bộ binh nhẹ của người Carthage tới cứu viện. Chỉ có không đến 2000 lính bộ binh trốn thoát được, trong khi kỵ binh đã bỏ chạy cùng với Mago ngay khi trận chiến vừa mới sảy ra. Vị tướng còn lại, Hanno, đã bị bắt sống cùng với những người tham chiến sau cùng khi trận chiến này sắp sửa kết thúc. Mago cùng với kỵ binh và cựu binh của ông ta tái hợp với Hadrusbal Gisgo sau đó 10 ngày ở Gades, còn số binh sĩ Celtiberi mới được tuyển mộ thì bỏ chạy tan tác vào các cánh rừng lân cận rồi trở về quê nhà của họ. Chiến thắng này đã ngăn cản người Celtiberi đứng về phía người Carthage. Sau chiến thắng này, Scipio tiến quân tới khu vực Baetica để đối đầu với Hadrusbal Gisgo, ông ta đang đóng quân ở khu vực này để đảm bảo sự trung thành của các đồng minh. Khi nghe tin Scipio tiến đến, Hadrusbal liền rút quân về Gades rồi phân tán binh sĩ tới các thành phố khác nhau để phòng thủ.
Khi Scipio biết được điều này, ông nhận thấy rằng việc đánh chiếm từng thành phố lần lượt sẽ mất nhiều thời gian hơn so với kết quả thu được, do đó ông hành quân quay trở lại. Tuy nhiên, do không muốn để vùng đất này lại trong tay kẻ thù, Ông phái em trai của mình là Lucius Scipio cùng với 10000 bộ binh và 1000 kỵ binh đi tấn công thành phố Orongi của người Maessesses, đây là thành phố giàu nhất khu vực này. Hadrusbal từng sử dụng nó làm căn cứ để tấn công các bộ lạc ở nội địa. Lucius hạ trại ở gần thành phố và phái người tới thuyết phục cư dân của nó đứng về phía người La Mã. Khi điều này không thành, ông ta xây dựng một lũy đôi bao quanh thành phố và chia quân đội của mình thành ba đạo để thay phiên tấn công. Cuộc tấn công của đạo quân đầu tiên đã gặp phải nhiều khó khăn, mà điều khó khăn nhất đó là việc tiếp cận với những bức tường thành và dựng những chiếc thang do mưa tên từ trên tường thành. Không những vậy, kể cả khi đã dựng được những chiếc thang và bắt đầu trèo lên, họ cũng bị đẩy xuống bởi chĩa và móc sắt. Lucius Scipio sau đó rút đạo quân đầu tiên về và đưa hai đạo còn lại tiến lên. Trước cuộc tấn công này, những người phòng thủ vội vàng rút lui khỏi các bức tường thành, trong khi đội quân đồn trú của người Carthage lo rằng thành phố đã phản bội cho nên đã rời khỏi vị trí canh gác và tập hợp lại làm một. Người dân thành phố sợ rằng người La Mã sẽ tàn sát tất cả cho nên họ đã mở một cánh cổng của thành phố và đi ra ngoài. Họ cầm theo khiên của mình để đề phòng trường hợp bị tấn công bằng những ngọn lao và để lộ bàn tay trống không của họ nhằm chỉ ra rằng họ không mang vũ khí. Hành động này đã bị hiểu lầm và người La Mã tấn công họ như thể họ là một đạo quân thù địch. Người La Mã sau đó tiến vào qua cánh cổng mở và phá tan những cánh cổng khác. Không có đổ máu và cũng không có cướp bóc. Quân địch mất 2000 người còn người La Mã mất 90 người  Publius Scipio cho rằng việc chiếm được Orongis cũng là một thành tựu vĩ đại giống như việc ông chiếm được Carthago Nova. Khi mùa đông đến gần, ông rút quân khỏi miền nam Hispania, rồi phân tán binh sĩ đến các doanh trại trú đông và phái em trai của mình quay về Rome cùng Hanno và các tù binh có địa vị cao khác, tiếp đó Scipio quay về trú đông ở Tarraco.
Năm 206 TCN, Hadrusbal Gisgo rời khỏi Gades và tiếp tục cuộc chiến. Ông ta xây dựng được một đạo quân lên tới 50000 bộ binh và 4500 kỵ binh. Theo Livius, một số tác giả cho rằng ông ta có tới 70000 bộ binh. Hadrusbal và Mago sau đó đóng trại trên một đồng bằng rộng lớn và bằng phẳng nằm gần một thị trấn mà Livius gọi là Silpia nhưng Polybius gọi nó là Ilipa. Khi nghe được tin này, Scipio cảm thấy rằng bản thân ông không thể đối đầu với một đạo quân lớn như vậy nếu như không có sự trợ giúp đến từ những người bản địa, tuy vậy ông cũng cho rằng mình không nên dựa quá nhiều vào họ nhằm đề phòng sự phản bội như đã sảy ra đối với người chú của ông. Trước đó, Culchas, người nắm giữ 28 thành phố đã hứa hẹn xây dựng một đạo quân gồm cả bộ binh và kỵ binh trong mùa đông. Silanus sau đó đã được phái đi đưa họ về. Tiếp theo, Scipio rời khỏi Tarraco và hành quân hướng tới Castulo, ông đã bổ sung thêm vào đội quân của mình những đạo quân nhỏ đến từ các bộ lạc đồng minh dọc theo đường hành quân. Tại Castulo, Silanus tái hợp lại với ông cùng một đạo quân gồm 3000 bộ binh và 500 kỵ binh. Đội quân của Scipio có tổng cộng 55000 người. Sau đó, Ông tiến quân tới gặp kẻ thù và chọn vị trí đóng quân ở gần Beacula. Theo Livius, khi người La Mã đang xây dựng hào quanh doanh trại của họ, Mago và Masinissa đã tấn công họ cùng với toàn bộ kỵ binh. Scipio đã dự đoán được điều này và bố trí một đạo kỵ binh bên dưới một ngọn đồi. Họ đã đánh tan những người tới gần phòng tuyến và tấn công những người đang đào hào. Tuy nhiên, cuộc chiến với những người Carthage khác đang tiến tới một cách trật tự lại diễn ra bất phân thắng bại trong một thời gian dài. Theo Polybius, Mago nghĩ rằng người La Mã đang chuẩn bị cho doanh trại của họ và đây là thời điểm thuận lợi để tấn công, và rằng ông ta sẽ khiến cho Scipio ngạc nhiên. Cũng theo Polybius, sự kháng cự của người Carthage diễn ra ngắn ngủi. Livius còn ghi lại rằng khi có thêm nhiều người tới trợ giúp cho những người lính đã mệt mỏi, người Carthage bắt đầu rút lui một cách có trật tự. Nhưng khi người La Mã đẩy mạnh tấn công, họ tan vỡ bỏ chạy. Các cuộc giao tranh nhỏ còn diễn ra trong vài ngày sau đó giữa bộ binh nhẹ và kỵ binh của hai bên
Sau các cuộc giao tranh nhỏ này, cả hai bên đều dàn trận ở phía trước doanh trại của họ cho tới lúc hoàng hôn rồi sau đó quay trở về doanh trại của mình. Điều này diễn ra trong vài ngày, không có bất cứ điều gì diễn ra ở cả hai phía. Cả hai phe đều bố trí quân đội của họ ở trung tâm còn quân trợ chiến bản địa ở hai bên cánh, người Carthage còn bố trí những con voi của họ ở phía trước. Cả hai bên đều cho rằng trận đánh sẽ diễn ra theo trật tự như vậy và cuộc chiến chính sẽ diễn ra ở khu vực trung tâm. Tuy nhiên, Scipio đã nhận ra điều này và thay đổi cách bố trí của mình vào ngày mà ông dự định chiến đấu, ông bố trí người La Mã ở bên cánh  Polybius thì lại ghi lại cụ thể hơn. Ông ta viết rằng Scipio đã sử dụng hai chiến lược: thứ nhất là thay đổi cách bố trí đội hình của ông và thứ hai là lựa chọn thời điểm diễn ra trận đánh. Hadrusbal vẫn lặp lại cách bố trí người Lybia ở trung tâm đối diện với người La Mã và người Hispania ở bên cánh cùng với voi chiến ở phía trước họ. Còn Scipio thì lại dàn trận sau đó một giờ. Trước khi trận đánh sảy ra, Scipio đã thực hiện tương tự như vậy. Tuy nhiên, vào ngày diễn ra trận đánh, Scipio đã dàn trận vào lúc bình mình và bố trí người La Mã ở hai bên cánh còn người Hispania ở trung tâm. Hai chiến thuật này "đã góp phần quan trọng vào chiến thắng dành cho chính đội quân của ông và sự thất bại của kẻ thù." Scipio đã truyền lệnh cho các sĩ quan của ông phải ăn sáng, vũ trang và hành quân ra khỏi doanh trại ngay khi trời vừa sáng. Còn theo Livius, điều này diễn ra vào buổi tối trước đó. Ngay khi trời vừa sáng, Scipio liền phái toàn bộ kỵ binh và bộ binh nhẹ tấn công tiền đồn của quân địch và theo sau họ cùng với bộ binh nặng. Sau khi bị đánh thức bởi tiếng ồn ào của kỵ binh, Hadrusbal nhận thấy rằng binh sĩ của mình đang rối loạn và phải đối phó với cuộc tấn công ở phía trước chiến lũy, không những vậy người La Mã đã dàn trận ở phía đồng bằng. Ông ta ngay lập tức phái toàn bộ kỵ binh của mình đi chống lại kỵ binh của người La Mã, sau đó ông ta đưa bộ binh ra khỏi doanh trại và dàn trận mà không thay đổi cách bố trí trước đó. Kỵ binh của hai bên đã giao chiến với nhau bất phân thắng bại và rút về chỗ bộ binh của cả hai phe. Khi hai đạo quân tiến đến cách nhau khoảng nửa dặm, Scipio triệu tập kỵ binh của mình và chia họ thành hai nhóm, rồi bố trí họ ở hai bên cánh làm lực lượng dự bị. Khi thời điểm thích hợp của trận đánh, Scipio ra lệnh cho người Hispania ở trung tâm phải tiến thật chậm, Silanus cùng Marcius phải dàn rộng cánh bên trái tương ứng với cánh phải do ông chỉ huy và giao chiến với kẻ địch trước khi trung quân của cả hai đội quân tiến sát lại gần nhau. Thế trận của người La Mã uốn cong hướng về phía trung tâm bởi vì các binh sĩ người Hispania của họ tiến chậm hơn. Vào lúc hai bên cánh của cả hai phe giao chiến với nhau, các cựu binh người Carthage và Châu Phi đóng ở trung tâm hàng ngũ của người Carthage lại không dám rời khỏi vị trí của mình để giúp hai bên cánh của họ. Họ sợ rằng điều này sẽ mở đường cho quân địch tấn công. Lực lượng đồng minh của người Carthage ở hai bên cánh đã bị dồn ép bởi một cuộc tấn công kép, kỵ binh và bộ binh nhẹ của người La Mã lượn vòng quanh và tấn công vào hai bên cánh trong khi bộ binh nặng của người La Mã tấn công phía trước mặt, cố gắng tách họ khỏi trung tâm.
Trận chiến lúc này trở thành một chiều. Những tân binh người Hispania bên phía người Carthage đã phải đối mặt với người La Mã và lính đồng minh Latin của họ, không những vậy sức lực của người Carthage cũng bắt đầu yếu dần theo thời gian do họ không có cơ hội để kịp ăn sáng. Scipio đã trì hoãn thời điểm bắt đầu trận chiến chính vì lí do này. Cuộc tấn công của ông ta chỉ bắt đầu sau buổi trưa. Và phải vài tiếng sau đó, cuộc chiến mới bắt đầu ở khu vực trung tâm. Dưới sức nóng của ban ngày, sự mệt mỏi từ việc đứng sẵn sàng chiến đấu, sự đói khát đã làm cho người Carthage và châu Phi kệt sức trước khi họ bắt đầu giao chiến. Không những vậy, những con voi của họ còn rơi vào tình trạng hoảng loạn, chúng vội vàng bỏ chạy từ cánh vào khu vực trung quân. Mệt mỏi và bị dồn ép, người Carthage ở trung quân bắt đầu rút lui và giữ vững hàng ngũ của mình. Nhận thấy điều này, người La Mã đẩy mạnh tấn công từ mọi phía bất chấp việc Hadrusbal Gisgo cố gắng tập hợp và giữ vững hàng ngũ. Nhưng cuối cùng thì, binh sĩ của ông ta vẫn bỏ chạy tới ngọn đồi phía sau họ và sau đó là về doanh trại của mình. Doanh trại của người Carthage đã may mắn không bị chiếm mất bởi vì có một cơn mưa lớn đổ xuống và ngăn cản người La Mã tiếp tục. Trong đêm hôm đó, do lo sợ về một cuộc tấn công khác khi trời sáng, người Carthage đã tiến hành củng cố chiến lũy của mình bằng những khối đá lớn. Tuy nhiên, các đồng minh Hispania của họ đã đào ngũ, bắt đầu bằng Attenes, một thủ lĩnh người Turdetani, sau đó là hai thành trì khác đã đầu hàng người La Mã. Lo sợ rằng sự đào ngũ sẽ tiếp tục lan rộng, Hadrusbal Gisgo đã cho di dời doanh trại của ông ta vào tối ngày tiếp theo.
Khi biết được điều này, Scipio liền phái kỵ binh truy đuổi và theo sau cùng với đội quân của mình. Theo lời khuyên từ những người dẫn đường, người La Mã đi theo một con đường tắt tới sông Baetis, nhờ vậy họ có thể tấn công Hadrusbal Gisgo nếu như ông ta cố gắng vượt sông. Nhận ra mình ở gần với con sông, Hadrusbal Gisgo vội vàng hành quân về phía bờ biển. Trong khi đó, kỵ binh và bộ binh nhẹ của người La Mã đã làm chậm bước tiến của ông ta bằng cách tấn công vào bên sườn và hậu quân, điều này buộc Hadrusbal Gisgo phải dừng lại để đẩy lùi đầu tiên là kỵ binh và sau đó là bộ binh nhẹ cho tới khi các quân đoàn của Scipio xuất hiện. Hadrusbal liền bỏ chạy tới ngọn đồi gần nhất cùng với 6000 người, nhiều người trong số họ không có vũ khí, phần còn lại thì bị giết hoặc bắt làm tù binh. Người Carthage vội vàng xây dựng một doanh trại với hào bao quanh trên đỉnh đồi và người La Mã thì lại không cố gắng để trèo lên. Tuy nhiên, đây vốn là một vùng đất cằn cỗi và không có khả năng chống cự lại một cuộc bao vây, không những thế đã có rất nhiều binh sĩ đào ngũ. Hadrusbal liền triệu tập hạm đội của ông ta và bỏ trốn ngay trong đêm, bỏ mặc số binh sĩ còn lại của mình. Sau khi nghe tin này, Scipio giao lại cho Marcus Silianus 10.000 bộ binh và 1.000 kỵ binh để tiếp tục bao vây doanh trại của người Carthage, còn bản thân ông thì quay trở về Tarraco. Dọc đường quay về, Scipio đã tìm hiểu thái độ của các tù trưởng bộ lạc đối với Rome để có thể ban thưởng cho nó nếu như họ xứng đáng. Sau khi ông rời đi, Massinisa đã bí mật thỏa thuận với Marcus Silianus và quay trở về châu Phi để thuyết phục người dân của ông ta đứng về phía Rome. Sau khi Mago lên thuyền đi tới Gades, số binh sĩ Carthage còn lại đã tan rã. Một số đầu hàng người La Mã, một số thì bỏ trốn tới những bộ lạc lân cận. Người Carthage lúc này đã bị đánh đuổi khỏi Hispania, Marcus Silianus liền đem quân quay trở về chỗ Scipio và báo cáo rằng cuộc chiến tranh đã kết thúc.
Sau khi ký kết một hiệp ước với Syphax và quay trở về từ châu Phi, Scipio cảm thấy rằng đây là thời điểm thích hợp để trừng phạt thành phố Castulo và người Iliturgi. Họ đã đào ngũ về phe của người Carthage sau khi hai anh em nhà Scipio tử trận. Người Iliturgi còn phản bội và sát hại những người La Mã lánh nạn sau thất bại. Scipio giao cho Lucius Marcius một phần ba quân số để bao vây Castulo trong khi bản thân ông đem số quân còn lại tới chỗ người Iliturgi. Scipio chia đội quân của ông làm hai và giao cho Laelius chỉ huy một đạo, điều này là để nhằm tấn công thành phố của họ từ mọi phía. Những người phòng thủ đã kháng cự một cách quyết liệt, cả phụ nữ và trẻ em cũng tham gia góp sức vào việc phòng thủ. Những cuộc tấn công của người La Mã đã liên tục bị đẩy lùi. Scipio sợ rằng những nỗ lực thất bại có thể giúp nâng cao tinh thần của những người phòng thủ và gây áp lực cho binh sĩ của mình, vì thế ông đã tham gia vào trận chiến. Ông đã qưở trách binh sĩ của mình vì sự hèn nhát của họ và ra lệnh đem thang tới. Trong lúc này, Laelius tiến hành cuộc tấn công từ phía bên kia của thành phố. Điều này đã giúp đập tan sự kháng cự và thành phố đã thất thủ sau đó Một số lính đào ngũ người châu Phi đang phục vụ người La Mã nhận thấy rằng phần cao nhất của thành phố vốn được bảo vệ bởi những vách đá dựng đứng đã không được phòng thủ và củng cố. Họ leo lên những vách núi này bằng móc sắt và tiến vào thành phố vừa bị người La Mã chiếm được. Sự thù hận đã khiến cho người La Mã tàn sát hết toàn bộ cư dân của thành phố bao gồm cả phụ nữ và trẻ em, họ còn phá hủy toàn bộ thành phố và tất cả những gì ghi lại về kẻ thù của họ. Sau khi hoàn tất, Scipio hành quân tới Castulo, thành phố này được bảo vệ bởi các cư dân bản địa từ những thị trấn xung quanh cùng với tàn quân Carthage. Khi nghe tin Scipio tiến đến, những người phòng thủ đã mất tinh thần. Không những vậy, người Hispania và người Carthage lại còn bất đồng và nghi ngờ lẫn nhau. Cerdubelus khuyên người Hispania đầu hàng trong khi Himilco, viên chỉ huy Carthage lại phản đối điều này. Cerdubelus sau đó thông đồng với người La Mã và mở cửa thành đầu hàng. Điều này đã giúp cho thành phố Castulo thoát khỏi sự tàn sát.
Sau đó, Marcius được phái đi chinh phạt các bộ lạc vẫn còn chưa chịu khuất phục. Ông ta băng qua sông Baetis và tiếp nhận sự đầu hàng của hai thành phố. Astapa là một thành phố luôn đứng về phía người Carthage, người dân của nó căm ghét người La Mã, họ thường tiến hành cướp bóc các vùng đất của những đồng minh La Mã ở xung quanh. Không những vậy, họ còn bắt giữ những người lính  La Mã và bất cứ thương nhân nào mà họ bắt gặp. Khi nghe tin người La Mã đến gần, những cư dân của thành phố này tập trung toàn bộ tài sản quý báu của họ thành một đống lớn, đưa vợ con của họ ngồi lên nó và chất đầy gỗ quanh họ. Họ còn bố trí 50 người để canh gác. Sau đó, họ mở cổng thành và thực hiện một cuộc phá vây. Một vài đội kỵ binh và bộ binh nhẹ được phái đến ngăn chặn nhưng họ đã bị đánh tan. Tuy nhiên, cuộc tấn công của những cư dân thành phố đã bị các cựu binh La Mã chặn lại, người La Mã cố gắng đẩy lùi họ nhưng kẻ địch của họ thà chết chứ quyết không lùi bước. Người La Mã sau đó dàn rộng hàng ngũ của họ và nhờ vào số lượng vượt trội, họ tấn công vào hai bên sườn và tiêu diệt toàn bộ kẻ địch. Ở phía trong thành phố, phụ nữ và trẻ em đã bị những người canh gác thiêu sống, bản thân họ sau đó cũng nhảy vào đống lửa tự sát. Sau khi chấp nhận sự đầu hàng của các thành phố còn lại, Marcius đem quân quay trở về Carthago Nova. Vào thời điểm này, một số kẻ đào ngũ từ Gades đã đến và hứa hẹn sẽ giao nộp thành phố cùng với đạo quân đồn trú của người Carthage cùng với hạm đội và các viên tướng của họ. Trước đó, Mago đã thiết lập doanh trại của ông ta ở thành phố này và tập hợp được một đạo quân đáng kể từ châu Phi và đến từ các bộ lạc xung quanh. Scipio đã giao cho Marcius một vài đội bộ binh nhẹ và Laelius là 8 tàu chiến để thực hiện chiến dịch.
Scipio lúc này bị ốm và có tin đồn rằng ông ta đã qua đời. Lợi dụng điều này, Mandonius và Indibilis đã kêu gọi người dân của họ nổi dậy và tuyển mộ một đạo quân người Celtiberi, tiếp đó họ tàn phá vùng đất của người Suessetani và Sedetani, vốn là đồng minh của La Mã. Không những vậy, lại còn có một cuộc nổi loạn của 8000 binh sĩ La Mã đóng quân trong một doanh trại tại Sucro. Họ tỏ ra không vui khi họ vẫn còn ở Hispania mặc dù cuộc chiến tranh đã kết thúc và yêu cầu trả lương cho họ. Những người lính đã đánh đuổi các quan bảo dân và giao lại quyền chỉ huy doanh trại cho những thủ lĩnh cầm đầu cuộc nổi loạn, hai người lính thường tên là C. Albius của Cales và C. Atrius, một người Umbri. Khi không nhận được sự xác nhận về cái chết của Scipio, những người cầm đầu cuộc nổi loạn đã bị các binh sĩ của họ bỏ rơi. Scipio sau đó đã phái 7 viên quan bảo dân quân đội tới thông báo rằng ông ta còn sống và khỏe mạnh. Họ nói với những người lính rằng yêu cầu được trả lương của họ là hợp lý và rằng họ sẽ báo lại điều này cho Scipio, ông ta sau đó phái người đi thu thập cống nạp của các bộ lạc để trả lương cho binh sĩ. Tiếp đó, Scipio triệu tập những người lính này đến Carthago Nova để nhận tiền lương. Những kẻ cầm đầu cuộc nổi loạn đã bị hành hình còn các binh sĩ thì bị khiển trách và sau đó được trả lương.
Trong lúc này, Hanno, viên tướng dưới quyền của Mago vốn được phái đi chiêu mộ lính đánh thuê từ các bộ lạc Hispania đã xây dựng được một lực lượng lên tới 4000 người. Ngay sau đó, Marcius đánh bại và chiếm được doanh trại của ông ta, Hanno chỉ trốn thoát được cùng với một vài người. Cùng lúc, hạm đội của Laelius cũng đã tiến tới thành phố Carteia trong vịnh Gibralta. Tuy nhiên, những người đang âm mưu giao nộp thành phố Gades cho người La Mã đã bị phát hiện và Mago bắt giữ toàn bộ bọn họ. Mago sau đó giao họ lại cho Adherbal để ông ta đưa những người này tới Carthage trên một chiếc tàu quinquereme cùng với 8 tàu trireme khác. Ngay khi hạm đội của người Carthage vượt ra khỏi eo biển Gibralta, Laelius đưa hạm đội của ông ta rời khỏi cảng Carteia và truy đuổi họ. Do dòng chảy của thủy triều, trận chiến giữa hai phe trở nên hỗn loạn. Tuy vậy, người La Mã đã giành được chiến thắng, 4 tàu chiến của người Carthage đã bị đánh đắm, số còn lại thì bỏ chạy tới châu Phi. Sau khi quay trở lại bờ, Laelius biết được rằng âm mưu đã thất bại. Thất vọng vì điều này, ông ta gửi thư cho Marcius và nói rằng không muốn phí thời gian của họ vào việc chờ đợi trước cửa thành Gades, và rằng họ nên quay trở về Carthago Nova. Marcius đồng ý với điều này và cả hai quay trở về Carthago Nova vài ngày sau đó. Sau khi họ rời đi, Mago liền phái sứ giả  tới Carthage để báo tin về vụ nổi loạn trong doanh trại La Mã và việc đồng minh của người La Mã đã rời bỏ họ, đồng thời nhấn mạnh rằng ông ta cần sự trợ giúp để khôi phục lại Hispania. Mandonius và Indibilis, sau một thời gian rút lui về vùng đất của họ và chờ đợi, lúc này lại tiếp tục cuộc chiến. Họ tập hợp một đạo quân lên tới 20000 bộ binh và 2500 kỵ binh rồi hành quân tới Sedatania.
Một khi đã giải quyết xong vụ binh biến, Scipio liền rời Carthago Nova và hành quân hướng tới sông Ebro. Sau khoảng hai tuần hành quân, ông đã tiến đến gần doanh trại của người Hispania, doanh trại của họ nằm trong một thung lũng hẹp. Scipio ra lệnh cho thả một số gia súc về phía doanh trại của quân địch, Laelius thì được lệnh mai phục cùng với kỵ binh ở phía sau mỏm núi. Khi trận chiến bắt đầu, người Hispania vội vã lao ra để cướp lấy gia súc và giao tranh với bộ binh nhẹ của người La Mã. Ban đầu, cả hai phe phóng tên vào nhau, rồi sau đó bắt đầu giao tranh bằng kiếm trước khi kỵ binh của người La Mã xuất hiện. Ngoài việc tấn công trực diện, một số kỵ binh còn chạy vòng tới chân núi để cắt đứt đường lui của người Hispania. Tức giận vì thất bại trong cuộc giao tranh nhỏ này, người Hispania đã dàn trận vào lúc bình minh ngày hôm sau. Do không có đủ chỗ để dàn trận, hai phần ba số bộ binh của họ cùng với toàn bộ kỵ binh chiếm giữ khu vực đồng bằng, số bộ binh còn lại thì đóng quân trên một sườn đồi. Scipio nhận thấy rằng điều này đem lại cho ông ta một lợi thế bởi vì chiến đấu ở địa hình chật hẹp lại phù hợp với chiến thuật của người La Mã hơn. Người Hispania không thể phát huy hết sức mạnh cũng như kỵ binh của họ tỏ ra vô dụng. Vì không thể sử dụng kỵ binh để tấn công vào sườn của kẻ địch, Scipio lệnh cho Laelius đưa kỵ binh đi vòng quanh dọc theo ngọn đồi tránh sự phát hiện của người Hispania còn bản thân ông tự chỉ huy bộ binh chống lại họ. Ông nhanh chóng chỉ huy cuộc tấn công của bộ binh với hy vọng sự di chuyển của kỵ binh sẽ không bị phát hiện. Sự chật hẹp của thung lũng này đã ngăn cản sự hỗ trợ lẫn nhau của kỵ binh và bộ binh cho nên hai cuộc chiến đã diễn ra một cách riêng biệt. Bộ binh của người La Mã đánh tan tác bộ binh của kẻ địch mà không cần sự trợ giúp của kỵ binh, trong khi kỵ binh của người Hispania bị kỵ binh La Mã tiêu diệt toàn bộ. Chỉ có những ai đóng quân trên sườn đồi mới có thể trốn thoát được cùng với hai vị tù trưởng của họ. Doanh trại của người Hispania bị chiếm cùng ngày hôm đó, người La Mã còn bắt được 3000 tù binh cùng với chiến lợi phẩm. 2000 người La Mã và lính đồng minh tử trận và hơn 3000 người bị thương. Indibilis sau đó phái người em trai Mandonius tới chỗ Scipio để cầu xin sự tha thứ. Scipio trả lời rằng ông sẽ tha thứ cho ông ta, nhưng nếu như ông ta nổi dậy một lần nữa, ông ta sẽ "cảm nhận được sức nặng của cánh tay ông". Sau đó, Scipio phái Marcius tới miền Nam Hispania và áp đặt một khoản bồi thường đối với người Ilergetes để trả lương cho binh sĩ của mình. Khi người Ilergetes đã nộp đủ khoản bồi thường, Scipio liền khởi hành với một đạo bộ binh nhẹ và bắt kịp Marcius lúc này đang ở gần bờ biển
Các cuộc đàm phàn với Masinissa đã bị trì hoãn với nhiều lý do, ông ta muốn đích thân gặp gỡ Scipio và ký kết một hiệp ước liên minh giữa họ. Masinissa lúc này đang ở Gades và được Marcius thông báo rằng Scipio đang trên đường tới. Tiếp đó, ông ta thuyết phục Mago cho phép bản thân mình vào đất liền để cướp bóc. Khi đặt chân lên bờ, Masinissa liền phái ba vị từ trưởng Numidia tới chỗ Scipio để sắp xếp thời gian và địa điểm gặp mặt, hai người sau đó đã bị Scipio giữ lại làm con tin. Khi cả hai gặp mặt, Masinissa đã cảm ơn Scipio vì đã tha cho cháu của ông ta quay trở về và hứa sẽ giúp đỡ nếu như Rome phái Scipio tới châu Phi. Ông ta nghĩ rằng nếu ông ta làm vậy, Carthage sẽ thất bại. Sau khi cam kết tin tưởng lẫn nhau, Scipio quay trở về Tarraco còn Masinissa quay trở lại Gades. Trong khi đó, Mago thất vọng vì không có gì sảy ra ở Hispania và chuẩn bị rời đi. Một phái đoàn đến từ Carthage yêu cầu ông ta đưa hạm đội của mình từ Gades tới Ý, đồng thời xây dựng một đạo quân từ người Gaul và Liguria để hỗ trợ cho Hannibal. Ngoài khoản tiền được mang tới cho ông ta từ Carthage, Mago còn tiến hành tịch thu ngân khố, cướp bóc các đền thờ và tiền bạc từ người dân của Gades. Đi dọc theo bờ biển của Hispania, ông ta đổ bộ lên bờ không xa Carthago Nova và cướp bóc các cánh đồng gần đó. Sau đó, ông ta đưa hạm đội tới thành phố và nghĩ rằng chỉ có một đội quân nhỏ bảo vệ nó, đồng thời hy vọng những người dân của thành phố sẽ đứng về phía mình. Tuy nhiên, những cư dân của thành phố này đã thông báo trước về sự xuất hiện của người Carthage. Khi người Carthage tấn công thành phố, cánh cổng của nó đột ngột mở ra và người La Mã lao ra ngoài. Người Carthage rơi vào sự hỗn loạn, họ bỏ chạy và bị người La Mã truy đuổi tới tận bờ biển, không những thế họ còn chịu tổn thất nặng nề. Những người không kịp được hạm đội giải cứu và cố gắng bơi theo những con thuyền trong bóng tối đã bị chết đuối.
Khi Mago quay trở về Gades, ông ta nhận thấy rằng những cánh cổng của thành phố đã đóng lại. Ông ta thả neo ở Cimbii, một địa điểm cách không xa Gades và cử sứ giả tới phàn nàn về điều này. Họ trả lời rằng những người dân của thành phố đã làm điều đó bởi vì họ tức giận trước những hành vi cướp bóc của các binh sĩ. Mago sau đó mời các quan chức của thành phố tới một cuộc hội nghị, và khi họ tới nơi, Mago ra lệnh tra tấn và đóng đinh những người này. Tiếp theo, ông ta khởi hành tới đảo Pityusa và nhận được sự đón tiếp thân thiện cùng với tiếp tế, vũ khí và nhân lực. Được khuyến khích bởi điều này, người Carthage đã khởi hành tới quần đảo Balearic. Khi tới hòn đảo lớn ở nơi đây, người Carthage bị cư dân của nó đẩy lùi bởi những trận mưa đá dữ dội. Không thể đặt chân lên bờ, người Carthage liền tiến đến hòn đảo nhỏ và chiếm giữ được nó mà không gặp phải bất cứ sự kháng cự nào. Họ chiêu mộ được 2000 lính đánh thuê và đưa những người này tới Carthage. Sau khi Mago rời đi, thành phố Gades đã đầu hàng người La Mã.

Từ năm 206-196 TCN

Khi Scipio Africanus quay trở về Rome vào năm 206 TCN, ông khuyên rằng quân đội La Mã nên lưu lại ở Hispania để ngăn chặn người Carthage quay trở lại trong suốt thời gian còn lại của cuộc chiến tranh Punic lần thứ hai. Ông đã liên minh với các bộ lạc địa phương và Rome có nghĩa vụ bảo vệ cho họ. Tuy nhiên, các đồng minh này có thể không đáng tin cậy và không thể đoán trước, giống như cuộc nổi dậy của Indibilis trước đó. Do vậy, việc duy trì sự hiện diện của quân đội La Mã là cần thiết. Sau khi kết thúc cuộc chiến tranh này, người La Mã đã quyết định ở lại Hispania hơn là rút khỏi nó. Những việc làm của Scipio Africanus đã đặt nền móng cho sự hiện diện lâu dài này. Ông đã thiết lập các đội quân đồn trú thường trực tại Tarraco (Tarragona), Carthago Nova (Cartagena) và Gades (Cadiz). Ông còn thành lập thuộc địa (khu định cư) Italica (gần Santiponce) để định cư các cựu chiến binh La Mã bị thương. Ông cũng đã thay đổi đạo quân La Mã ở Hispania từ một đạo quân phụ thuộc vào nguồn tài chính của Rome trở thành một đạo quân có khả năng tự túc. Ông làm được điều này là nhờ vào nguồn chiến lợi phẩm và từ việc thu thập lương thực, quần áo, và các đồ quân nhu khác từ những bộ tộc địa phương đã nổi dậy chống lại người La Mã. Ông cũng đã  thu lượm ngũ cốc để xuất khẩu nhằm kiếm tiền trả lương cho binh lính, trưng thu lương thực và quần áo cho binh lính. Livius đề cập rằng khi Scipio Africanus tiến hành chiến dịch ở Châu Phi một vài năm sau đó (vào giai đoạn cuối của chiến tranh Punic lần thứ hai), ngũ cốc từ Sicily và Sardinia (vốn là các nguồn cung cấp ngũ cốc chính), nhưng cũng có cả từ Hispania đã được gửi tới cho quân đội La Mã ở đó. Có lẽ một số vùng đất nông nghiệp đã được định hướng theo hướng trồng những loại cây trồng để nhằm xuất khẩu sang Rome, đặc biệt là ở các thung lũng màu mỡ của sông Ebro (ở phần phía bắc của khu vực ven biển phía đông) và Baetis (Guadalquivir) ở phía nam. Sự hiện diện của những người lính La Mã và các thương gia chắc hẳn đã khởi động tiến trình La Mã hóa. Các sản vật mới và những đổi mới về kỹ thuật đã được du nhập. Ban đầu, người La Mã tiến hành trưng thu theo một phương thức đặc biệt. Sau đó, quá trình này được mở rộng ra đối tất cả các bộ lạc nằm trong lãnh thổ của người La Mã và phát triển thành một dạng thuế. Cả ba vị Scipio, những người chỉ huy các chiến dịch của La Mã ở Hispania, đã quản lý vấn đề tài chính một cách độc lập đối với Rome và theo các nhu cầu của cuộc chiến. Suốt 7 năm, Rome đã phái các tướng lĩnh quân đội cùng với một chức vụ không tuân theo hiến pháp tới Hispania. Khi các viên thống đốc được bổ nhiệm, bề ngoài là họ nằm dưới sự giám sát của viện nguyên lão La Mã nhưng thực ra thì viện nguyên lão lại có ít sự kiểm soát đối với họ do khoảng cách xa xôi. Do vậy Hispania đã được quản lý một cách khá độc lập bởi những người ngay tại địa phương. Điều này khiến cho Hispania rơi vào tay của những viên thống đốc và các quan chức thiếu kinh nghiệm do họ thiếu sự hiểu biết về các tỉnh ở đây và những người dân địa phương của họ cũng như nhiệm kỳ ngắn ngủi của họ. Nó dẫn đến sự lộng hành, bóc lột và quấy nhiễu đối với những cư dân bản địa. Viện nguyên lão đã cố gắng giải quyết vấn đề này nhưng thất bại. Đa phần những quan chức La Mã không bị giám sát và các thương gia đã trở nên tham lam bởi vì những nguồn tài nguyên ở địa phương đã tạo ra cơ hội làm giàu cho họ. Đây là căn nguyên tạo nên sự bất mãn và nổi dậy.
Vào năm 205 TCN, sau khi Scipio Africanus quay trở về Rome, Lucius Cornelius Lentulus và Lucius Manlius Acidinus đã được phái đến Hispania với quyền hạn của cựu chấp chính quan "không có nhiệm kỳ" ("sine magistratus", mà không nắm giữ chức vụ công). Đây là một sự kỳ quặc của hiến pháp. Các viên thống đốc bình thường ở những vùng lãnh thổ của người La mã là các pháp quan hoặc là cựu pháp quan và cựu chấp chính quan. Các cựu pháp quan và cựu chấp chính quan là những người từng nắm giữ chức vụ pháp quan và chấp chính quan đã được giao nhiệm vụ của một thống đốc sau khi kết thúc năm nhiệm kỳ của họ hoặc quyền chỉ huy của họ (quyền chỉ huy quân đội) được gia hạn - các chức vụ pháp quan và chấp chính quan được phép nắm quyền chỉ huy quân đội. Do đó, Lentulus và Acudinus đã được phái tới Hispania nhưng lại không nắm giữ chức vụ công như thường lệ, họ đã được trao cho quyền hạn của cựu chấp chính quan để họ có thể chỉ huy quân đội ở Hispania. Hai người này chỉ có địa vị là những chỉ huy quân sự. Cách thức cho sự bổ nhiệm của họ không được biết rõ. Sự kỳ quặc theo hiến pháp này diễn ra trong bảy năm, cho đến năm 197 TCN khi hai tỉnh được thành lập ở Hispania và chúng được giao cho hai pháp quan. Dường như La Mã có thể đã ứng biến khi nó giữ lại vùng lãnh thổ mới này và rằng địa vị và hình thức cai trị đã được điều chỉnh sau bảy năm. Cornelius Lentulus và Manlius Acidinus đã ở lại Hispania trong một thời gian dài bất thường. Livius viết rằng quyền chỉ huy của họ đã được gia hạn vào năm 202 TCN. Ông ta không đề cập đến những gì đã được sắp xếp trong hai năm thêm đó. Có lẽ hai người này đã được phái đi mà không có một kỳ hạn rõ ràng về việc ở lại và điều này đã được xem xét lại khi mà họ đã ở đó hoặc đã khá lâu. Vào năm 201 TCN, câu hỏi về việc ai sẽ thay thế vị trí của họ đã được nêu ra trong hội đồng nhân dân. Đây là một thủ tục bất thường và có lẽ là một cách để giao nhiệm vụ tới người được phái đến Hispania mà không (được bầu) nắm giữ chức vụ công. Lý do cho việc tại sao phương pháp bất thường này lại vẫn được tiếp tục thì chưa được biết rõ. Họ đã dự định thay thế bằng duy nhất một người để chỉ huy một quân đoàn và mười lăm cohort ở đó. Các cựu chấp chính quan sắp mãn nhiệm sẽ đưa những cựu chiến binh quay trở về quê hương sau khi đã ở Hispania suốt một thời gian dài.  Livius đã không nói tới kết quả của cuộc bỏ phiếu là gì. Chỉ có Lentulus trở về Rome. Ông ta về tới nơi vào năm 200 TCN. Livius sau đó viết rằng vào năm 200 TCN, Gaius Cornelius Cathegus, đang nắm giữ chức vụ cựu pháp quan ở Hispania, đã đánh bại một đạo quân lớn của kẻ địch trong lãnh thổ của người Sedetani và tiêu diệt 15.000 kẻ địch. Vấn đề về người thay thế cho Acidinus đã được nêu ra tại hội đồng nhân dân vào năm 200 TCN. Gnaeus Cornelius Blasio và Lucius Titus Stertinius đã được lựa chọn và phái đến Hispania vào năm 199 TCN. Acidinus sau đó quay trở lại Rome vào năm 199 TCN. Năm 199 TCN, pháp quan Gaius Sergius được trao nhiệm vụ tổ chức việc chia đất đai cho những người lính đã từng phục vụ ở Sicily, Sardinia và Hispania trong nhiều năm. Cũng trong năm 199 TCN, người dân thành phố Gades (Cadiz) ở Hispania thỉnh cầu rằng sẽ không có viên thái thú nào được phái tới thành phố của họ và điều này đã được công nhận (vào năm 206 TCN, người La Mã đã ký một hiệp ước với Gades, trong đó thống nhất rằng một viên centurion của người La Mã sẽ giữ vai trò là thái thú La Mã trong thành phố).
Vào năm 198 TCN, số lượng pháp quan La Mã đã được tăng từ 4 lên 6 người bởi vì họ quyết định thành lập hai tỉnh mới là Hispania Citerior và Hispania Ulterior. Hai thủ phủ của các tỉnh này là Tarraco (Tarragona) và Curdoba (Córdoba). Người đứng đầu những tỉnh này là các pháp quan và các pháp quan của năm 197 TCN là Gaius Sempronius Tuditanus và Marcus Helvius đã được phái đến Hispania Citerior và Ulterior một cách tương ứng. Họ được giao 8.000 bộ binh Latin và 400 kỵ binh để thay thế cho những người lính cũ. Họ cũng được giao nhiệm vụ xác định rõ biên giới giữa hai tỉnh . Cuối năm 197 TCN, chiến tranh đã nổ ra ở Hispania Ulterior. Helvius thông báo cho Rome biết rằng hai vị thủ lĩnh bộ lạc Culchas và Luxinius đã nổi dậy. Có 15 thành phố đứng về phía Culchas, trong khi Luxinius được sự ủng hộ của hai thành phố hùng mạnh là Carmo và Bardo, cùng với người Malacini và Sexetani ở khu vực bờ biển phía nam và toàn bộ Baeturia. Không những vậy, các bộ tộc khác cũng chưa bộc lộ rõ ý định của họ nhưng cũng sẽ sớm tham gia vào cuộc nổi dậy. Đến cuối năm đó, đạo quân dưới quyền chỉ huy của C. Sempronius Tuditanus đã bị đánh bại, bản thân ông ta bị thương nặng và qua đời ngay sau đó.
Năm 196 TCN, tỉnh Hispania Ulterior được giao cho Quintus Fabius Buteo và Hispania Citerior được giao cho Quintus Minucius Thermus. Mỗi pháp quan được giao cho một quân đoàn cùng với 4.000 bộ binh và 300 kỵ binh đồng minh. Họ được lệnh phải hành quân càng sớm càng tốt. Đồng thời, Gnaeus Cornelius Blasio và Lucius Stertinius cũng đã quay trở lại từ Hispania Ulterior và Citerior. Cả hai đã đem về một lượng lớn chiến lợi phẩm từ Hispania, Gnaeus Cornelius Blasio còn được phép tiến vào thành phố trong sự hoan hô do đã giành được một chiến thắng nhỏ.Quintus Minucius sau đó đã giành được một chiến thắng trước hai viên tướng người Hispania là Budares và Baesadines, ông ta tiêu diệt 12.000 quân địch và bắt sống Budares.

Chiến dịch của Cato Già

Khi nhận ra rằng cuộc chiến tranh ở Hispania đang dần trở nên nghiêm trọng, viện nguyên lão quyết định phái một chấp chinh quan cùng với hai quân đoàn, 15000 bộ binh và 800 kỵ binh đồng minh cùng 20 tàu chiến. Hispania đã được giao cho Marcus Porcius Cato. Trong khi đó, các pháp quan Appius Claudius Nero và Publius Manlius được giao quyền quản lý các tỉnh Hispania Ulterior và Citerior tương ứng, Manlius còn đảm nhận vai trò phụ tá cho Cato. Ngoài ra, họ còn được phép tuyển mộ 2000 bộ binh và 200 kỵ binh để bổ sung cho quân đoàn đang đóng ở Hispania trước đó.
Năm 195 TCN, Cato khởi hành tới Rhoda (ngày nay là Rosas) và đánh đuổi đội quân đồn trú người Hispania đang đóng ở đây. Từ Rhoda, ông tiếp tục tiến đến Emporiae. Tại đây, ông đưa toàn bộ lực lượng của mình lên bờ ngoại trừ các thủy thủ của hạm đội. Cato lưu lại ở đây trong vài ngày để thu thập thông tin tình báo và bắt đầu rèn luyện quân đội của mình. Ông ta cấm các nhà buôn La Mã và đuổi họ về Rome cùng với lời nhắn nhủ "chiến tranh tự nuôi sống nó". Tiếp theo, Cato đem quân rời Emporiae và cướp phá các cánh đồng của kẻ thù, nhằm mục đích lan tỏa "sự khiếp sợ và bỏ chạy theo mọi hướng".
Trong khoảng thời gian này, Marcus Helvius, pháp quan của Hispania Ulterior vào năm 198 TCN, đang trên đường tới doanh trại của Cato cùng với một đạo quân hộ tống gồm 6000 người. Ông ta đã ở lại Hispania sau khi bàn giao lại chức vụ của mình cho Quintus Minucius Thermus vào năm 196 TCN bởi vì một "căn bệnh kéo dài và nguy hiểm". Trên đường đi, ông ta đã đánh bại một đạo quân lớn gồm 20.000 người Celtiberi ở gần thị trấn Iliturgi. Kẻ địch mất tới 12.000 người, thị trấn Iliturgi bị người La Mã chiếm đóng và tất cả nam giới trưởng thành của nó đã bị giết. Marcus Helvius sau đó đến được doanh trại của Cato và phái đạo quân hộ tống của ông ta quay trở về Hispania Ulterior. Tiếp theo, ông ta quay trở về Rome chỉ hai tháng trước khi người kế nhiệm,Quintus Minucius, quay trở về.
Người Ilergetes, một bộ lạc ở miền bắc Hispania Citerior, vốn là đồng minh của người La Mã đã bị tấn công. Họ liền phái ba sứ giả tới chỗ Cato và cầu xin sự trợ giúp binh lực từ người La Mã. Họ cho rằng chỉ cần 3000 người là đủ để giải vây. Tuy nhiên, Cato lại không muốn phân tán lực lượng của mình để giúp đỡ họ do quân địch đang ở gần và một trận chiến sắp xảy đến. Khi nghe được điều này, các sứ giả trở nên quẫn trí và khóc lóc. Cato sau đó đã dành một đêm để suy nghĩ giữa hai lựa chọn: Ông ta không muốn bỏ rơi đồng minh và cũng không muốn làm suy yếu đạo quân của mình. Cuối cùng ông ta quyết định không giao chiến với kẻ địch và cũng không đem quân tới giúp cho đồng minh. Ngày hôm sau, ông ta nói với các sứ giả rằng ông ta sẽ giúp họ và giả vờ đưa 3000 binh sĩ lên tàu để thực hiện điều này  Sau khi các đại sứ hài lòng và đi khỏi, Cato cho binh sĩ xuống tàu và hạ trại cách Emporiae khoảng 3 dặm. Từ địa điểm này, ông ta phái quân của mình đi cướp bóc các cánh đồng của kẻ địch. Họ hành quân vào ban đêm để có thể đi được xa nhất có thể và khiến cho kẻ địch bị bất ngờ vào lúc bình minh. Điều này giúp rèn luyện các tân binh và giúp cho họ bắt được nhiều tù binh. Điều này còn khiến cho kẻ địch của họ không dám ra khỏi các pháo đài. Tiếp sau đó, Cato quyết định tấn công doanh trại của quân địch Bắt đầu khởi hành lúc nửa đêm, một lần nữa ông ta khiến cho quân địch phải bất ngờ. Cato đưa quân vòng ra phía đằng sau doanh trại của quân địch và dàn trận vào lúc bình minh. ông còn phái ba cohort tiến thẳng tới chiến lũy của kẻ địch. Sau đó, Cato ra lệnh cho ba đội quân này rút lui để lừa cho người Hispania ra khỏi doanh trại của họ. Điều này đã thành công, người Hispania nghĩ rằng người La Mã sợ hãi cho nên họ đã tràn hết ra khỏi doanh trại. Trong lúc họ đang thiết lập hàng ngũ một cách vội vã, Cato ra lệnh cho kỵ binh hai bên cánh tấn công. Tuy nhiên, cuộc tấn công của kỵ binh bên cánh phải đã bị đẩy lùi và sự rút lui của họ đã gây nên sự hoảng loạn đối với bộ binh.