Toinen puunilaissota
Hannibalin hyökkäys Italiaan

Hannibal otti mukaansa libyalaisista ja iberialaisista palkkasotureista koostuvasta armeijastaan kaikkein luotettavimmat ja karaistuneimmat. Keväällä 218 eaa. hän saavutti Pyreneet, ja Galliassa hän onnistui välttämään paikallisten heimojen sekä roomalaisten hyökkäysyritykset. Syksyllä hän saapui Alpeille, jotka ylitti huolimatta vuoristoheimojen väijytyksistä. Reitti toi Hannibalin suoraan roomalaisten takapihalle, mutta yli 40 000 sotilaan vahvuisesta armeijasta selvisi perille vain 26 000 sekä yksi norsu.lähde?
Roomalaiset olivat toivoneet taistelun pysyvän vieraiden kansojen alueilla, mutta nyt heidän oli kohdattava haaste Italiassa. Hannibal varmisti ensin asemansa hyökkäämällä paikallisten heimojen kimppuun. Saman vuoden joulukuussa roomalainen sotapäällikkö kävi hänen kimppuunsa Trebiassa. Väsytettyään roomalaisten jalkaväen Hannibal löi roomalaisten asemat palasiksi yllätysrynnäköllä sivustaan. Voiton myötä jalansija Pohjois-Italiassa näytti vahvalta. Talven jälkeen Hannibal lähti kohti etelää, sillä gallit, joiden luona hän oli viipynyt, olivat alkaneet osoittaa kyllästymisen  merkkejä. Hän ylitti Apenniinit ilman vastarintaa, mutta sen jälkeen hänen joukkonsa kärsivät vakavia tappioita suoalueilla tautien takia. Hannibal itse menetti näön toisesta silmästään.
Hannibal eteni Etruriaan, jossa hän väijytti Rooman armeijan pääjoukon Trasimenusjärvellä. Hannibal murskasi roomalaisten joukot veteen ja läheisille rinteille. Reitti kohti Roomaa oli nyt vapaa, mutta Hannibal jatkoikin suoraan Rooman ohi kohti etelää. Syytä tälle liikkeelle on pohdittu pitkään. Eräs mahdollisuus on, että Hannibal arvioi Rooman piirityksen liian raskaaksi, koska hänellä ei ollut piirityskoneita. Toisaalta on epäilty, että Hannibalin joukot olivat jo kyllästyneet jatkuvaan sotimiseen. Rooman piiritys olisi saattanut merkitä kuukausien paikallaanoloa huonolla ruoalla ilman toivoakaan saaliista. Hannibal ei ehkä luottanut palkkasoturiensa uskollisuuteen, vaan päätti suunnata helpommin ryövättäville seuduille.
Apuliassa Hannibal kohtasi roomalaisten häthätää muodostaman uuden armeijan. Hannibal ei uskonut tuoreista joukoista olevan hänelle vastusta, mutta roomalaisten komentaja Quintus Fabius Maximus Verrucosus liikanimeltään Cunctator eli "Viivyttelijä" piti kiinni asemistaan kukkuloilla. Kun Fabiuksen provosointi taisteluun ei onnistunut, Hannibal suuntasi kohti Samniumia ja rikasta Campaniaa. Hannibal hävitti Campanian maaseutuja jopa raivokkaammin kuin Apuliassa osoittaen näin Rooman heikkouden, mutta Fabius ei vieläkään lähtenyt taisteluun. Vuosi lähestyi loppuaan. Hannibal ei olisi halunnut talvehtia hävitetyillä Campanian tasangoilla, mutta Fabius oli tukkinut kaikki poistumistiet. Hannibal harhautti roomalaisia vartijoita karjalaumalla. Fabius olisi ollut iskuetäisyydellä, mutta epäillen väijytystä hän jatkoi varovaista linjaansa, tällä kertaa omaksi vahingokseen. Hannibal vietti talven Apulian tasangoilla, jonne roomalaiset eivät uskaltautuneet.
Keväällä 216 eaa. suuri roomalaisten armeija saapui Apuliaan murskaamaan Hannibalin. Tätä johtivat konsulit Gaius Terentius Varro ja Lucius Aemilius Paullus. Seurasi Cannaen taistelu, jossa Hannibalin onnistui saarrostustaktiikalla tuhota ylivoimainen vastustaja, ainakin kahdeksan legioonaa. Arvioiden mukaan roomalaisten tappiot nousivat kymmeniin tuhansiin, tappio oli Rooman tasavallan historian pahin.
Roomalaisten moraali kärsi ja suuret osat Etelä-Italiaa siirtyivät Hannibalin puolelle, samoin Syrakusa ja Makedonian kuningas Filippos V. Jos Hannibal olisi saanut vahvistuksia Karthagosta, olisi hän kai nyt voinut hyökätä Roomaan. Puutteellisten resurssien takia hän kuitenkin tyytyi hävittämään lähiseutuja. Hannibal teki Capuasta tukikohtansa, kun se oli siirtynyt hänen puolelleen. Roomalaiset puolestaan palasivat Fabius Cunctatorin strategiaan ja sissisotaan.
Hannibal pysyi Campaniassa useita vuosia. Hänen oma hallituksensa tai uudet liittolaiset kuten Makedonian Filippos V eivät olleet hänelle suureksi avuksi. Hannibalin asema Etelä-Italiassa paheni asteittain. Vuonna 212 eaa. kuitenkin roomalaisiin kyllästyneet asukkaat juonivat Tarentumin hänelle. Hannibalin kerrotaan lupautuneen suojelemaan Tarentumin vapautta ja määränneen kaupungista ryövättäväksi vain roomalaisten omaisuuden, tarentumilaisten omaisuus oli jätettävä rauhaan. Pahaksi onneksi roomalaiset onnistuivat säilyttämään kaupungin linnoituksen hallinnan, mikä teki sataman käytöstä mahdotonta. Samana vuonna Hannibal joutui vetäytymään Campaniasta roomalaisten armeijoiden ahdistelun takia. Hän yritti vetää roomalaiset toisaalle marssimalla parhaimmillaan vain kolmen kilometrin päähän Roomasta, mutta ei hätäännyksestä huolimatta hyökännyt.
Roomalaiset olivat taikauskoisia. Rooman valtion johto määräsi, että karthagolaisten palvoman jumalatar Kybelen kuvapatsas oli mentävä hakemaan Karthagosta Roomaan. Arveltiin Kybelen pystyvän pelastamaan Rooman valtakunnan.
Seuraavina vuosina Hannibalin asema kuitenkin jatkoi heikentymistään. Hän menetti yksi toisensa jälkeen aikaisemmat valloituksensa. Hänen liittolaisensa ja maanmiehensä kärsivät pahoja tappioita. Lopulta vuonna 203 eaa. hänet kutsuttiin takaisin Afrikkaan, jossa seurasi sodan loppunäytös.