Dok je Hanibal pljačkao i palio po čitavoj Italiji bez ikakvog otpora i polako osiguravao kartašku prevlast na zapadnom Sredozemlju, rimski Senat očajnički je tražio načina da sačuva rimsku državu.
Rimljani, iako su imali vrlo malo vojnika u svom glavnom gradu, šalju glavne postrojbe u Hispaniju kako bi je ponovno osvojili i onemogućili Hanibalu da dobije pojačanja. Tu rimsku vojsku predvodio je Publije Kornelije Scipion, poslije nazvan "afrički". S druge strane, u Kartagi je izabrana nova vlada. Vlast su preuzeli demokrati srušivši tako oligarhijski poredak. Nažalost po Hanibala, nova vlada nije shvaćala ozbiljnost situacije u Italiji, pa mu nije poslala pojačanja koja je on očekivao. U pomoć mu stiže, međutim, njegov brat Hazdrubal, kojeg Rimljani u Hispaniji ne uspijevaju zaustaviti, dopuštajući mu tako da se probije na Apeninski poluotok. Njegov plan je bio da se ujedini s bratom Hanibalom i krene na Rim. Ali je jedne noći, Senat tajno uputio formaciju rimskih vojnika forsiranim maršom da se suprostavi Hazdrubalu. Rimska vojska podijelila se u dvije skupine da onemogući Hazdrubalu bijeg i kada su se Rimljani napokon približili Kartažanima, Hazdrubal, brojčano slabiji, bio je poražen i ubijen na rijeci Metaur. Njegova glava bila je bačena u Hanibalov tabor što je značilo prvu veliku rimsku pobjedu u 2. Punskom ratu i slabljenje Hanibalove moći. Hanibalu se pripisuje da je ,vidjevši odrubljenu glavu svoga nesretnog brata, rekao : "Sada vidim sudbinu Kartage!" Hanibalov drugi brat Mago pokušao je kasnije izvršiti invaziju na obaliu Ligurije ,ali je poginuo zadobivši u borbi udarac sjekirom.