Hannibals far, Hamilcar, var befälhavare för de karthagiska styrkorna i slutet av det första puniska kriget. Efter att Karthago förlorat kriget korsade Hamilcar till Hispanien för att erövra stammarna i det som nu är Spanien. Vid tiden för denna invasion var Karthago i ett dåligt skick. Dess flotta kunde inte bära sin armé till Iberien (Hispania). Hamilcar var tvungen att marschera mot Herkules pelare och gå över Gibraltarsundet. Enligt en berättelse i Livius fick Hamilcar Hannibal att lova att han aldrig skulle bli vän med Rom. Hannibal berättade detta för sin far:
Jag svär att så snart åldern tillåter det... kommer jag att använda eld och stål för att stoppa Roms öde.
I gengäld gick Hamilcar med på att ta Hannibal med sig till Hispanien. Hamilcar ägnade två år åt att slutföra erövringen av Iberien söder om floden Ebro. Han dog 229/228 i strid, troligen genom att drunkna i floden Jucar. Hans svärson Hasdrubal tog över befälet, men mördades 221 f.Kr.
När Hasdrubal dog blev Hannibal arméns ledare. Rom fruktade Hannibals växande styrka. De slöt en allians med staden Saguntum och hävdade att de skyddade staden. Saguntum låg söder om floden Ebro. Hannibal attackerade staden på grund av detta. Den intogs efter åtta månader. Med denna attack mot en romersk allierad ville Rom ha rättvisa från Karthago. I stället såg den karthagiska regeringen inget fel i Hannibals handlingar. Det krig som Hannibal ville ha förklarades i slutet av året.
Resa över land till Italien
Hannibals armé bestod av 75 000 fotsoldater och 9 000 ryttare. Hannibal lämnade "Nya Karthago" sent på våren 218 f.Kr. Han kämpade sig norrut till Pyrenéerna. Han besegrade stammarna genom skicklig bergstaktik och envisa strider. Efter att ha marscherat 290 mil genom Hispania och nått floden Ebro valde Hannibal ut de mest pålitliga och lojala delarna av sin armé av libyska och iberiska legosoldater att fortsätta med honom. Han lämnade kvar 11 000 soldater för att hålla vakt över den nyerövrade regionen. Vid Pyrenéerna släppte han ytterligare 11 000 iberiska trupper. Hannibal gick in i Gallien med 50 000 fotsoldater och 9 000 ryttare.
Hannibal behövde korsa Pyrenéerna, Alperna och många viktiga floder i regionen. från våren 218 f.Kr. kämpade han sig fram till Pyrenéerna. Han slöt fredsuppgörelser med de gauliska stamledarna och nådde Rhônefloden. När Hannibals armé anlände till Rhône i september uppgick den till 38 000 infanterister, 8 000 ryttare och trettiosju krigselefanter.
Hannibal undkom en romersk styrka som skickades för att bekämpa honom i Gallien. Han gick sedan upp i dalen för en av Rhôneflodens strömmar. På hösten nådde han foten av Alperna. Hans resa över bergen är en av de mest berömda prestationerna av någon militär styrka. Efter denna resa kom Hannibal ner från bergsfoten till Norditalien, till romarnas förvåning. Han hade anlänt med endast hälften av de styrkor han hade startat med och endast några få elefanter. Hannibal hade förlorat så mycket som 20 000 man när han korsade bergen.
Slaget vid Trebbia
Publius Cornelius Scipio ledde den romerska styrka som skulle stoppa Hannibal. Han förväntade sig inte att Hannibal skulle korsa Alperna. Han förväntade sig att slåss mot Hannibal i Spanien. Med en liten armé kvar i Gallien försökte Scipio stoppa Hannibal. Han flyttade sin armé till Italien till sjöss i tid för att möta Hannibal. Hannibal gjorde området bakom honom säkrare genom att besegra stammen Taurini (dagens Turin). De motsatta styrkorna kämpade i Karthago. Här tvingade Hannibal romarna att lämna Lombards slättlandskap. Denna seger gjorde mycket för att försvaga romarnas kontroll över gallerna. Gallerna beslutade sig för att ansluta sig till karthagerna. Snart var hela norra Italien inofficiellt allierat. Galliska och liguriska trupper ökade snart hans armé till 40 000 man. Hannibals armé var redo att invadera Italien. Scipio drog sig tillbaka över floden Trebia. Han slog läger vid staden Placentia och väntade på fler trupper.
Senaten hade beordrat Sempronius Longus att föra sin armé från Sicilien för att möta Scipio och möta Hannibal. Hannibal var på plats för att stoppa honom. Sempronius undvek Hannibal och anslöt sig till Scipio nära floden Trebbia nära Placentia. Vid Trebia besegrade Hannibal det romerska infanteriet genom ett överraskningsanfall från ett bakhåll på flanken.
Slaget vid Trasimenesjön
Hannibal anlände till Etrurien våren 217 f.Kr. och beslöt att locka den romerska huvudarmén under ledning av Flaminius till strid. Hannibal hittade Flaminius som slog läger vid Arretium. Han marscherade runt sin motståndares vänstra sida och skar av Flaminius från Rom. Hannibal tvingade Flaminius att jaga honom. Vid Trasimenussjöns strand förintade Hannibal Flaminius armé i vattnet eller på de närliggande sluttningarna. Han dödade även Flaminius. Han hade gjort sig av med den enda styrka som kunde hindra honom från att nå Rom. Han insåg att han utan belägringsmaskiner inte kunde hoppas på att inta huvudstaden, så han beslöt att fortsätta in i centrala och södra Italien. Han hoppades att denna styrkedemonstration skulle skapa en revolt mot den romerska regeringen. Efter Trasimenesjön sade Hannibal: "Jag har inte kommit för att slåss mot italienare, utan för italienarnas räkning mot Rom".
Fabius
Rom drabbades av en oerhörd panik. De utsåg en diktator vid namn Quintus Fabius Maximus. Han var en intelligent och försiktig general.
Fabius antog den "Fabianska strategin". Han vägrade att slåss öppet mot sin fiende och placerade flera romerska arméer i närheten av Hannibal för att begränsa hans rörelsefrihet. Fabius skickade ut små styrkor mot Hannibals flockar som letade efter mat. Invånarna i små byar i norr uppmanades att sätta upp utkiksplatser. De kunde samla ihop sin boskap och sina ägodelar och bege sig till befästa städer. Detta skulle trötta ut inkräktarna på deras uthållighet.
Hannibal beslöt att marschera genom Samnium till Kampanien. Han hoppades att förstörelsen skulle locka Fabius till strid, men Fabius vägrade att låta sig dras in i strid. Hans trupper blev irriterade över hans "fega anda". Hans politik var inte omtyckt. Romarna var vana vid att möta sina fiender på fältet och folket ville se ett snabbt slut på kriget.
Resten av hösten fortsatte med täta skärmytslingar. Efter sex månader avsattes Fabius från sin post i enlighet med romersk lag.
Slaget vid Cannae
Våren 216 f.Kr. intog Hannibal den stora förrådsdepån i Cannae på den apuliska slätten och placerade sig därmed mellan romarna och deras förrådskälla. Den romerska senaten återupptog valen av konsulat år 216. De valde Caius Terentius Varro och Lucius Aemilius Paullus till konsuln. Romarna samlade den största armén hittills i sin historia för att besegra Hannibal. Man uppskattar att arméns totala styrka var omkring 80 000 man.
Den romerska armén marscherade söderut till Apulien. Efter två dagars marsch hittade de Hannibal vid floden Audifus. Konsul Varro var en hänsynslös man full av stolthet och var fast besluten att besegra Hannibal. Varros arrogans tog överhanden och lät Hannibal dra in honom i en fälla. Med briljant taktik omringade och förintade Hannibal större delen av denna styrka.
Man uppskattar att 50 000-70 000 romare dödades eller tillfångatogs vid Cannae. Bland de döda fanns 80 senatorer. Den romerska senaten bestod inte av mer än 300 män - detta var 25-30 procent av det styrande organet. Slaget vid Cannae ett av de värsta nederlagen i det antika Roms historia. Det är också ett av de blodigaste slagen i hela mänsklighetens historia när det gäller antalet förlorade liv under en enda dag. Efter Cannae vägrade romarna att bekämpa Hannibal i slag. De försökte i stället besegra honom genom att trötta ut honom. De förlitade sig på sina fördelar i fråga om försörjning och arbetskraft.
På grund av denna seger anslöt sig större delen av södra Italien till Hannibals sak. Under samma år gjorde de grekiska städerna på Sicilien uppror mot den romerska kontrollen. Den makedonske kungen Filip V stödde Hannibal. Detta inledde det första makedonska kriget mot Rom. Hannibal byggde sin nya bas i Capua, Italiens näst största stad.
Pattläge
Utan resurser från sina allierade eller förstärkningar från Karthago kunde Hannibal inte göra mycket mer och började förlora mark. Han fortsatte att besegra romarna närhelst han kunde föra dem i strid, men kunde aldrig vinna någon annan avgörande seger.
Krigets slut i Italien
År 212 f.Kr. släppte konspiratörer i Tarentum in Hannibal i staden. De slog sedan larm med några romerska trumpeter. Detta gjorde att Hannibals trupper kunde plocka ner romarna när de snubblade ut på gatorna. Hannibal bad Tarentinerna att märka varje hus där Tarentinerna bodde så att de inte skulle bli plundrade. Trots plundringen höll citadellet stånd. Detta hindrade Hannibal från att använda hamnen och Rom vann långsamt mark över Hannibal. Samma år förlorade han Kampanien.
År 211 f.Kr. föll staden Capua. Sommaren samma år krossade romarna den karthagiska armén på Sicilien. Under tiden hade Hannibal besegrat Fulvius vid Herdonea i Apulien, men förlorat Tarentum. I och med förlusten av Tarentum 209 f.Kr. och romarnas erövring av Samnium och Lucania var Hannibals grepp om södra Italien nästan förlorat.
År 207 f.Kr. drog han sig tillbaka till Bruttium. Dessa händelser markerade slutet på Hannibals framgång i Italien. År 203 f.Kr. återkallades Hannibal till Karthago för att leda försvaret av sitt hemland mot en romersk invasion.