Ганнибал появился на свет в 247 году до н. э. в Карфагене в семье военачальника Гамилькара Барка. Имя его мамы неизвестно. Он был первым отпрыском в семье, позже появились еще два мальчика (Гасдрубал и Магон). У Ганнибала было еще три взрослые сестры, но их имен мы не знаем. В 247 году до н. э. Гамилькар был послан карфагенским сенатом на Сицилию биться с римлянами, следственно маленький Ганнибал редко виделся с отцом. Гамилькар возлагал огромные надежды на отпрысков. По рассказу Валерия Максима, однажды он, наблюдая за увлеченно забавлявшимися сыновьями, воскликнул: «Вот львята, каких я ращу на гибель Риму!».
В возрасте 9 лет папа взял Ганнибала с собой в Испанию, где собирался возместить своему городу утраты, понесенные в течение Первой Пунической войны. Точно неизвестно, пошел ли Гамилькар в Испанию по своей инициативе или был выслан карфагенским правительством. Накануне кампании Гамилькар преподносил жертвы всевышним, а позже жертвоприношения он кликнул к себе Ганнибала и задал вопрос, желает ли он пуститься в путь с ним. Когда мальчик с радостью дал согласие, Гамилькар заставил его поклясться перед алтарем, что он всю свою жизнь будет непримиримым врагом для Рима. По словам Полибия и многих остальных писателей, Ганнибал лично рассказал сирийскому царю Антиоху III эту ситуацию. Фраза «Ганнибалова клятва» стала крылатой.
Прибыв в Гадес, карфагенскую колонию в Испании (Иберии), Гамилькар приступил к захватническим кампаниям. Его миссией стало «поправить в Иберии положение Карфагена».
Со временем Ганнибал стал принимать участие в кампаниях отца, где приобрел необходимый военный навык. Первым делом Гамилькар отвоевал золотые и серебряные рудники сьерры Морена и возродил чеканку серебряной монеты, необходимой для выплаты Риму. Около 230 года до н. э. Гамилькар создал новый город Акра Левка для формирования надежного тыла и усиления карфагенского могущества.
Зимой 229/228 годов до н. э. Гамилькар погиб в поединке с племенем оретанов. К моменту гибели Гамилькара Ганнибалу исполнилось 17 лет. После смерти отца он вместе с братьями оставил Испанию и возвратился в Карфаген. Атмосфера военного лагеря, участие в походах, наблюдения за дипломатической деятельностью отца и зятя, бесспорно, оказали решающее влияние на формирование личности Ганнибала как военачальника и государственного деятеля. Армейские качества Ганнибала, — смелость, осторожность, выдержка, неугомонность, простота — все они сформировались, безусловно, под личным влиянием Гамилькара. Он не только стремился приучать собственных детей, прежде всего, Ганнибала, к активной общественно-политической работе в будущем. Он стремился подчеркнуть свое стремление ввести Карфаген в греческий мир — и гарантировать ему подмогу и отзывчивость греков в грядущей войне с римскими «варварами».
Едва весть о смерти Гамилькара донеслась до Акра Левке, верховное руководство пунийскими войсками взял на себя его зять Гасдрубал — на тот момент капитан одного из кораблей, долгое время бывший его «правой рукой». Гасдрубал продолжил завоевание Иберии, и Ганнибал был руководителем конницы под его командованием. Гасдрубал сотворил город Новый Карфаген, тот, что стал столицей карфагенской Иберии.
В 223 году до н. э. в городе Сагунт возникло восстание, и его власть устремились за поддержкой в Рим. Римские войска навели в городе порядок, изгнав сторонников Карфагена. Таким образом, Сагунт стал римским протекторатом. В начале 221 года до н. э. Гасдрубал был убит собственным слугой, мстившим за своего бывшего хозяина, убитого по приказу Гасдрубала.
После смерти Гасдрубала воины выбрали новым вождем Ганнибала. Этот выбор был утвержден карфагенским общенародным собранием.
В исторических документах не сохранилось сведений о причине, заставившей Ганнибала оставить Испанию. Не исключается, что Гасдрубал оказывал заботу о братьях собственной жены. Допустимо также, что он хотел, хотя бы на короткое время, защититься от коварного и неискоренимого соперника на власть. Как бы то ни было, ближайшие 5 лет Ганнибал скоротал в Карфагене, видимо, внимательно присматриваясь к общественно-политической жизни на родине.
В течение двух лет (221–220 гг. до н. э.) Ганнибал расширял карфагенские земли на северо-западе Пиренейского полуострова. В 221 году до н. э. он провернул кампанию против племени олькадов и схватил набегом их столицу — Альталию у Полибия, Карталу у Тита Ливия. После зимовки в Новом Карфагене Ганнибал продвинулся еще дальше, захватил ваккеев и осадил город Германдика. На обратном пути на него совершили нападение ваккеи и взбунтовавшиеся олькады. Ганнибал смог убежать от них, а после этого нанес им разгром, когда олькады и ваккеи переправлялись через речку Таг. Вся территория к югу от Ибера стала под карфагенским господством. В том же году Ганнибал обвенчался на иберийке из Кастулона по имени Имилька.
Обеспокоенные карфагенской экспансией и провокациями соседских иберийских племен жители Сагунта направили послов в Рим. Из Рима было выслано представительство к Ганнибалу. Римские послы потребовали избежать враждебных действий по отношению к Сагунту. Ганнибал принял послов очень быстро, заявив, что «карфагеняне сохраняют положение охранять всех угнетенных». Не добившись ответа от Ганнибала, послы устремились в Карфаген. Ганнибал старался разыграть разлад мира со стороны испанской колонии Сагунта. Впрочем, уже в 224 году Ганнибал вернулся в Испанию и здесь стал проходить армейскую службу под руководством зятя, командуя всадниками. Между тем Гасдрубал собрал в Акра Левке значительные силы — 200 слонов, 50 000 опытных пехотинцев и 6000 всадников. Направив их, прежде всего, против ориссов, он разгромил, перебил всех, кто был повинен в поражении и смерти Гамилькара. Гасдрубал подчинил себе 12 орисских населенных пунктов, а еще остальные города Испании.