Hasdrubal ilk bozgunu bu donanma karşısında aldı. Romalılar karşısında deniz kuvvetleri tarihi bir fiyasko yaşamıştı. Yenilginin sebebi iyi organize olamayan donanma ve Ebro Nehri yenilgisi sonrası oluşan psikolojik çöküntüydü. Aynı zamanda kara ordusu Ebro Nehri Muharebesi ile meşguldü ve gerekli desteği veremedi. Romalılar 55 gemi ve tekneyle muharebeye çıkmış ve karşılarında 40 gemilik bir Kartaca donanması bulmuşlardı. Kartacalılar donanmanın dörtte üçünü kaybettiler. Muharebe sonrası Kartacalılar geri çekildilerse de Romalılar Ebro Nehri ve Pireneler’de sıkışmış bulunuyorlardı.
Bu durum Kartaca’nın İberya’dan Hannibal’a takviye göndermesini veya Galya’daki direnişi desteklemesini engelliyordu. Bu sırada Hadsrubal Roma egemenliğindeki Dertosa üzerine yürüdü süvari üstünlüğünü de kullanarak düşmanı kuşattı ve ağır kayıplar verdirdi.

İber Yarımadası'ndaki bu küçük ilerlemenin yarattığı tehdit sonrası Scipio güçlü Numidya kralı ile ittifak görüşmelerine başladı. Scipio henüz Afrika’da Kartaca üzerine yürüyüp karşı saldırılar yapacak durumda değildi.

MÖ 218'de Roma casus gemileri Sicilya açıklarında adanın batısından gelebilecek ani saldırılara karşı gözetleme yapmaktaydı. Yirmi kürekli kadırga ve bin asker ile Aegadian Adaları’ndan Sicilya’nın batısındaki Vulcan adalarına sekiz gemiyle saldırdılar fakat güçlü akıntı Messina Boğazını geçmelerine imkan vermedi. Siraküzalı donanması birkaç Kartaca gemisini ele geçirdi. Bunu öğrenen Kartaca filosu II. Hiero yönetiminde Lilybaeum şehrine saldırdıysa da Romalılar onları yenerek 35 Kartaca gemisini ele geçirdi.

MÖ 218’de Roma’nın benzer bir saldırıyı Afrika’da yapması ihtimaline karşı Hannibal, 13,850 İberyalı ağır piyade, 870 Balearik adalarından okçu ve 1200 İberli süvariyi Afrika savunması için bölgeye gönderdi.

Kartaca donanması Romalılara karşılaştığı iki büyük muharebeden de bozgunla ayrılmıştı. Fakat diğer kıyılarda üstünlüğü ve saldırı kabiliyetini korumaktaydı. Sardinya’ya ilk Kartaca seferi MÖ 215’te Hasdrubal ve yardımcısı Hampsicora önderliğinde gerçekleşti. Saldırıyı önceden sezen Roma, Titus Manlius Torquatus komutası altında 20.000 piyade ve 1.200 süvari ile Kartacalıların karşısına çıktı. Kartaca ordusu ise 15 bin piyade 1.500 süvari ile sayısı bilinmeyen savaş fillerinden müteşekkildi. Cornus Muharebesinde ise Sardinya halkının direnişi ile karşılaşıp mağlup oldular. Roma bu savaştan galip ayrıldı Kartaca ordusu yedi gemiyle geri çekildi. Sonuç olarak önemli bir tahıl ihracat limanı olan Sardinya Roma idaresinde kaldı.

Romalılar Hannibal’ın Ebro’yu geçmesiyle eş zamanlı olarak Galyalıların isyanı ile karşı karşıya kaldılar. Kuzey İtalya’ya giren Hannibal Galyalı Boii ve Insubres kabileleri ile diplomatik temas kurdu. Onları ortak düşman Roma’ya karşı birleştirdi ve ittifak kurdu. İlk direniş hareketi Roma kolonisi Placentia ve Cremona’da başladı, Galyalıların kuşattığı şehirden Romalılar Mutina’ya kaçtı. Buna karşılık, Praetor L. Manlius Vulso iki lejyon ve müttefik kuvvetlerle onların (toplam 1,600 süvari ve 20,000 piyade) üzerine yürüdü. Bu ordu Ariminium’dan çıktıktan sonra yolda iki kez pusuya düştü,1,200 asker öldürüldü. Mutina kuşatma altında olmasına rağmen bu olayın gerçekleşmesi Roma Senatosunu harekete geçirdi. Vulso üzerine Scipo’nun lejyonu ve 5 bin askerlik kuvveti yardıma gönderdi. Scipio buradaki kuvvetleri arttırdı ve Hannibal gelene kadar elinde tutu.

Rhone Muharebesinden sonra Hannibal Roma kuvvetlerinin sert baskısı altında kalmış olan Galyalı müttefiklerine yardıma geldi. Alpleri zorlu iklim ve arazi şartlarına ve yerlilerin gerilla taktiklerine rağmen geçti. Hannibal 28 bin piyade, 6 bin süvari ve 30 savaş filiyle Taurini (Piedmont,kuzey İtalya) bölgesine ulaştı. Hannibal'ın bu yolu kullanacağını Romalılar biliyordu fakat bu kadar erken ve kış henüz bitmeden Alpleri geçebileceğini düşünmüyorlardı.

Galyalılar Po Vadisi düzlüklerindeydi, Hannibal güçlerinin bir kısmını onları ayaklanmaya teşvik için gönderdi. Galyalılar ilk saldırıyı Taurini şehri yöneticisine yaptı. Ardından Hannibal, erkenden Rhone Vadisine gelerek Scipio kuvvetlerinin önünü kesti. Burada yapılan Ticinus Muharebesinde süvari destekli Hannibal ordusu karşısında Romalılar yenildi. Scipio ağır yaralandı ve Romalılar Trebia Nehrini geçerek köyünde kamp kurup destek kuvvetlerini beklediler. Romalıların mağlubiyeti ile Galyalılar ve Liguryalılar’a katılanlar çoğaldı ve yaklaşık 40 binlik bir destek gücüyle Hannibal’ın arkasında yer aldılar.
Ticinus’taki yenilgi haberi Roma’ya ulaştı. Derhal bir senato Tiberius Sempronius Longus liderliğinde toplandı ve Sicilya’daki Afrika üzerine gönderilmek için hazırlanmış ordu geri çağrıldı. Ordu Scipio’nun birliğine katılacak ve Hannibal ile savaşacaktı. Kartacalılar önemli bir ikmal kenti olan Clastidium’u ele geçirdi. Bunda yerel Latin kumandanın ihaneti önemli rol oynamıştı. Öte taraftan Scipio ciddi şekilde yaralanmıştı ve orduyu kumanda edemiyordu. Sempronius Longus kumandasında birleşen Roma orduları Trebia Muharebesi'nde Hannibal ile savaştı. Roma birlikleri sabah erken saatlerde nehri geçerek saldırı yapmak üzere harekete geçti fakat Hannibal’ın kardeşi Mago önderliğinde bir grup Kartacalı asker, ordudan ayrılarak Romalılar’ı arkadan kuşattı. 20 bin kayıp veren Romalılar geri çekildi.
naeus Servilius Geminus ve Gaius Flaminius MÖ 217'de Roma Senatosu tarafından yeni konsül seçildiler ve Hannibal’a karşı savaşacak yeni ve sayısı arttırılmış ordu göndermeye karar verdiler. Yeni konsül sessizce uzun dini ritüeller olmaksızın yeni orduyu Ariminium üzerinden yola çıkardı. Bu olay Romalılar arasında tanrılara karşı saygısızlık yapıldığı ve bunun Roma’ya felaket getireceği düşüncesinin yayılmasına neden oldu. Hannibal İtalya içlerinde ilerlerken, Flaminius birlikleriyle Ariminum’dan Arretium’a hareket etti, Apennine dağını geçip Etruria şehrine girdi. Yoldaşı olan diğer komutan Servilius, onu arkadan takip ediyordu. Sayısı arttırılmış ve taze olan ordu birlikleri Adriyatik kıyıları boyunca ilerleyecekti. Scipio önderliğindeki üçüncü bir kuvvet ise Etruria’da hayatta kalma mücadelesi veriyordu.

MÖ 217 yılı ilkbaharında Hannibal ilerlemeye karar verdi, Galyalı müttefikleri Po vadisinden ayrılmakta tereddüt ediyorlardı. Hannibal dev ordusuyla birlikte Etruria rotasında ilerledi. Günler süren yolculuk sonrası ordu yorgun ve uykusuzdu. Birliğinin bir bölümünü kaybetti ve kalan birkaç filiyle ilerlemeye devam etti.

Etruria’ya ulaştığında , Hannibal Flaminus önderliğindeki Roma ordusuna farklı bir taktikle saldırdı. Ordunun sol kanadına hücum etti ve Romalılara etkili bir şekilde kesti. Etruria’nın yüksek bölgelerinden ilerlemeye devam ederek Roma’nın kendilerini aceleyle takip etmesini istiyorlardı. Hannibal Trasimenus Gölü civarında askerleriyle birlikte pusuya yattı ve Roma birliklerini beklemeye başladı. Hannibal başarılı bir taktikle Roma ordusunu Trasimenus gölü muharebesinde mağlup etti. Flaminus pek çok askeriyle birlikte öldürüldü. 6 bin Roma askeri kaçmayı başardı. Ayrıca, Scipio, muharebeden haberdardı,onun destek için gönderdiği süvari birliği de yakalandı ve imha edildi. Bu zafer sonucunda Galyalı, Afrikalı, İberyalı ve Numidyalılardan oluşan heterojen bir kuvvet kendi ele geçirdikleri askeri ekipmanlarla savaşarak galibiyette önemli rol oynamışlardı. Roma ordusu büyük oranda kölelerden oluşmaktaydı, Kartacalılar ele geçirdikleri düşmanlardan Romalı olmayanlara özgürlük vadediyorlardı. Böylece pek çok farklı millet Roma’ya karşı Kartaca’nın yanında yer aldı. Hannibal generallerinin tüm telkinlerine rağmen Roma üzerine saldırmayıp yeni müttefikler kazanma amacıyla güneye İtalik ve Grek nüfusun fazla olduğu bölgeye yürüdü.

Tresimene Gölü bozgunu Roma Devleti’ni büyük paniğe soktu, korku her şehre yayılmıştı. Senato toplandı ve acil durumlarda yapılan geleneksel diktatör seçimine karar verdi. Daha önce iki konsül seçilmişti, bu kez yetki tek bir kişide olacaktı. Konsüllerden Flavius muharebede öldürüldü, diğer konsül Servillus ordunun sol kanadını idare etmeye devam ediyordu. Senato, Quintus Fabius Maximus’u diktatör yetkisiyle göreve getirdi.

Fabius kendi icadı olan bir savaş taktiğini uygulamaya koydu. Fabian taktiğine göre Roma ordusu düşmanla açık alanda muharebe etmeyecek fakat küçük birliklerle çatışmaya girecekti. Bu taktik askerler arasında rağbet görmedi. Hannibal’ın İtalya içlerinde direnişle karşılaşmadan ilerlemesi, Roma halkını ve Roma’nın müttefiklerini de kaygılandırmıştı.Roma köylere düşman ulaşmadan çiftlik hayvanlarını toplu halde tutmayı sığınak inşa etmeyi ve köylerin tahkimatını arttırma yoluna gitti. Fabius Hannibal’ın süvari gücünden çekiniyordu bu yüzden savaşı tepelere çekmek istiyordu. Bu taktik Roma’nın başına büyük bir dert açtı Tresimene Gölü muharebesinde Roma ordusu pusuya düşerek ağır kayıp Verdi. Fabius'un Hannibal'ın kuvvetine yönelik sürekli tacizi, komutanın yeteneklerini engelledi ve birçok tutsak aldı. Her iki komutan mahkûmları Birinci Pön Savaşı'nda olduğu gibi aynı koşullar altında değiş tokuş etmeye karar verdiler. Kartacalılar Romalılara aldıkları kadar yüzlerce mahkumu daha geri verdiler ve bu nedenle parasal tazminat bekliyorlardı, Senato gönülsüz davranıyordu. Fabius şimdi bu malikâneleri, arz edilen fazla tutsak için düşman ordusuna ödemek için sattı.

Apulya’nın harap edilmesi ile Fabius’u savaş içine çekmek istedi fakat başarılı olamadı. Hannibal Samnium’dan Campania üzerine yürümeye karar verdi, İtalya içerisindeki zengin ve verimli arazisi olan bir bölgeydi, burayıda yakıp yıkarak Fabius’u savaşa çekti. Düşmana tuzak hazırlayan Kartaca ordusu önemli bir stratejik hata yaptı ve dağlarla çevrili Campania düzlüklerine yerleşti. Fabius ordusunu gönderdi ve geçişleri tutan Romalıların elinden Hannibal, gece karanlığından yararlanarak kurtulmayı başardı. Dart geçitlerden savunmasız ve tüm malzemeleriyle geçip giden Kartaca ordusunun bu hareketi karşısında Fabius’un itibarı ağır yara aldı.

Minucius, süvari komutanı, Fabian Stratejisine karşı olan askerin sesi olarak, küç