Настойчивые просьбы Ганнибала прислать из Карфагена подкрепление так и остались без ответа. Теперь он мог рассчитывать только на собственные силы, которые с каждым боевым столкновением с римлянами неумолимо уменьшались.
Тем временем на политической и военной арене римской истории появилась новая фигура – Публий Корнелий Сципион, сын одного из тех Сципионов, что погибли в Испании. Римский сенат в 210 году до н.э. послал двадцатипятилетнего юношу принять командование войсками в Испании, где Сципион довольно быстро восстановил римскую власть к северу от Эбро. Затем, в 209 году до н.э. маршем с армией в 27 500 человек добрался до Нового Карфагена (Картахена), и неожиданным приступом быстро взял город, блокированный с моря римским флотом.
Хваткий, обладающий незаурядными способностями молодой человек сумел постичь тайну тактического превосходства карфагенян и отныне стремился расчленить римский боевой порядок, сделать отдельные части его способными к самостоятельному маневру. Он объединил манипулы в когорты – своего рода батальон, способный к самостоятельному маневрированию; создал вторую линию боевого порядка; а его переход от фаланги к построению в несколько линий представлял тактическую эволюцию на пути к созданию боевого порядка с независимым общим резервом. Но все это было возможным лишь при условии утраты легионом многих устаревших качеств республиканской милиции.
Раньше, оставаясь десятки лет в строю, римский милиционер перерождался в профессионального солдата, утрачивал свои гражданские чувства, свое преклонение перед законом, стремился к добыче. Даже у него на родине начинали поступать жалобы от обижаемого им гражданского населения. И по мере того, как авторитет закона тускнел, у римского солдата нарождался другой авторитет – авторитет его вождя. В таких условиях римский сенат должен был либо оставаться при старых формах командования и образования вооруженной силы, и в таком случае отказаться от окончательной победы над Карфагеном и завоевания всего мира, либо принести в жертву идее победы конституционные гарантии и организовать вооруженную силу, исключительно руководствуясь требованиями военного дела.
И сенат встал на второй путь. Там поняли, что немыслимо противопоставлять Ганнибалу консулов – детей в полководческом искусстве. Сначала Рим начал избирать на должности консулов одних и тех же известных осторожностью и военными знаниями лиц, не обращая внимание на ограниченное конституцией время их правления. Затем Рим шагнул дальше и дал военачальникам, слишком молодым, чтобы быть избранными консулами, консульские права. Когда Сципион с римской армией высадился в Африке, консульские полномочия были утверждены за ним не на год, а бессрочно – пока это будет требоваться военной обстановкой. Именно такая политика позволила Риму победить Карфаген, а потом завоевать Македонию и Сирию и, таким образом, создать остов всемирного государства. Но это будет позже.
А пока римляне под руководством Фабия Кунктатора, ставшего консулом в пятый раз (!), благодаря предательству итальянских союзников Ганнибала, вошли в Тарент. Несмотря на эту значимую потерю, Ганнибал был в состоянии продолжать войну и держать в безвыходном положении значительно более многочисленные и более действенные к тому моменту армии римлян. В 208 году до н.э. он разбил Марцелла под Аскулумом. А вскоре Марцелл попал в засаду и погиб.
Тем временем Сципион в Испании после различных маневров и нескольких стычек разбил Гасдрубала в битве при Бекуле, хотя и не нанес карфагенянам большого урона. А сам Гасдрубал по приказу Ганнибала отправился в Галлию, оставив Испанию Сципиону.
О перемещении войск Гасдрубала стало известно римскому консулу Клавдию Нерону. В 207 году римляне устроили противнику засаду у реки Метавр и разбили его. Гасдрубал, поняв, что все потеряно, намеренно ворвался в римскую когорту, чтобы погибнуть.
В доказательство своей победы римляне прислали Ганнибалу отрубленную голову брата. Однако тот и не думал покидать Италию, продолжая с большим упорством вести боевые действия. Тем временем тактика Рима, направленная на затягивание войны и истощение сил карфагенской армии на итальянской земле, стала давать свои результаты. Оторванность от тыловых баз поставила войска Ганнибала в крайне затруднительное положение.
Последнюю попытку помочь армии Ганнибала предпринял его брат Магон. В 205 году до н.э. он переправился из Испании на Балеарские острова, а потом – на лигурийское побережье Италии с 12 тысячами пехотинцев и 2 тысячами всадников. Однако римляне его блокировали, и, несмотря на поддержку лигурийцев и галлов, помочь Ганнибалу Магон не смог.