La solución la traerían Amílcar Barca y sus seguidores, que organizaron una expedición militar para obtener las riquezas de la península ibérica.
Asdrúbal estableció alianzas con las tribus del este de la península ibérica gracias a sus habilidades diplomáticas.
Fundó Cartago Nova (actual Cartagena) y situó la frontera en el río Ebro.
[5] Cartago se aseguró así un cierto control sobre el territorio hispano al sur del Íber.
Arse (actual Sagunto), estaba al sur del Íber, pero era una ciudad aliada de Roma.
Los cartagineses no podían enfrentarse a los romanos por mar, dada la superioridad naval de estos últimos.
No había construido una flota y se creía imposible que pudiera cruzar la cordillera.
Los romanos se retiraron, dejando a Aníbal el control del norte de Italia.
Mientras tanto, el veterano Fabio Máximo había sido nombrado dictador romano, y decidió que lo mejor sería evitar nuevas batallas campales, debido a la superioridad de la caballería cartaginesa.
Estas operaciones son ahora conocidas como tácticas fabianas, y le valieron el sobrenombre de «Cunctator» (ralentizador).
Sin embargo, la consiguiente división de las fuerzas romanas hizo posible que Aníbal consiguiese una victoria total sobre Minucio, cuyo ejército hubiese sido completamente destruido de no haber sido socorrido por Fabio.
Así que al año siguiente fue reemplazado por los cónsules Emilio Paulo y Cayo Terencio Varrón, con esas intenciones.
En los tres años siguientes se unieron a su causa las ciudades de Capua, Siracusa (en Sicilia) y Tarento.
También le sirvió para conseguir la alianza del rey Filipo V de Macedonia el 217 a. C., con lo que dio comienzo la primera guerra macedónica.
La flota macedónica era, sin embargo, demasiado débil para oponerse a la romana, por lo que no pudo facilitarle apoyo directo en Italia.
La única legión estacionada en la isla, se encontraba diezmada por las enfermedades y el pretor que la gobernaba, Quinto Mucio Escévola, también había caído enfermo.
La situación se decidió cuando se desató una epidemia causada por las exhalaciones de los pantanos que rodeaban Siracusa, las que causaron la muerte de casi todo el ejército cartaginés (entre los romanos la peste fue más benigna).
Arquímedes, quien había sido requerido por Marcelo para conocerle, al hacer caso omiso de la orden, fue asesinado por un soldado romano desconocido.
En Hispania, el padre de Publio (Publio Cornelio Escipión padre) y su tío Cneo Cornelio Escipión habían conseguido importantes logros, distrayendo a un gran número de tropas cartaginesas y poniendo en peligro el dominio cartaginés en ese territorio.
Pero el hermano de Aníbal, Asdrúbal Barca, finalmente los derrotó por separado y les dio muerte.
Roma comprendió que era necesario desalojar a los cartagineses de Hispania para evitar una nueva invasión cartaginesa, por lo que envió a Publio Cornelio Escipión, el futuro Escipión el Africano, quien tenía ya veinticinco años de edad.
Los romanos, una vez que Aníbal se hubo retirado, volvieron a sitiar la ciudad, rodeándola completamente con un doble foso.
Sin embargo, los correos cayeron en manos del cónsul romano Claudio Nerón, quien se encontraba en el sur de Italia enfrentando al general cartaginés.
De esa manera, los romanos sumaron por lo menos 50 000 hombres, que derrotaron totalmente a Asdrúbal en la batalla del Metauro,[9] donde este último perdió la vida.
En cambio, para los romanos esta victoria motivó un entusiasmo incontenible, que les permitió continuar la guerra con renovada energía.
Los romanos aprovecharon para apoderarse de las últimas ciudades hispanas bajo el control cartaginés.
Los cartagineses y los númidas reunieron sus últimas reservas (incluyendo mercenarios hispanos) para enfrentar a Escipión.
El propio Aníbal decidió llevar a cabo las negociaciones de paz con Roma, pues comprendió que es inútil seguir resistiendo.
La maniobra fue más o menos efectiva, y desencadenó la segunda guerra contra el único enemigo que los romanos temían.
En algunos sentidos, la segunda guerra púnica se libró más entre un hombre y un Estado que entre dos imperios.