Тем временем два римских генерала, братья Публий и Гней Сципионы, почти изгнавшие карфагенян из Испании, смогли спровоцировать беспорядки в Африке, где Сифакс, племенной вождь, поднял восстание против Карфагена (212 до н. э.). Восстание это, в котором в качестве советников участвовали римские офицеры, приобрело такой размах, что Газдрубал Барка, брат Гамилькара Барки, был вынужден вернуться из Испании с лучшими подразделениями своей армии.
В то же самое время было отбито вторжение на Сардинию (214 до н. э.), и римские войска на Сицилии смогли удержать свои позиции. Натиск Филиппа Македонского на римлян закончился безрезультатно, но зато втянул его в десятилетнюю войну с Римом и союзом греческих государств, в которой греческие союзники Рима взяли на себя основную тяжесть борьбы. Таким образом, несмотря на все сокрушительные поражения в битвах, римляне все же не только сдержали продвижение Ганнибала в Италии, но и сумели осуществить наступление своих легионов в Сицилии, Сардинии и Испании.
Карфагеняне продолжали сохранять свое значительное преимущество в коннице. Пожалуй, самой действенной частью этого рода войск были нумидийцы, считавшиеся лучшей легкой кавалерией своей эпохи. По общему мнению, они были великолепными наездниками, не пользовавшимися ни уздой, ни стременами. В качестве вооружения они имели небольшие круглые щиты и дротики и славились своими внезапными яростными нападениями и быстрыми отступлениями. Именно эти части в значительной степени определили все победы карфагенян. У римлян этот род войск все еще был численно недостаточным, даже сейчас, после шести лет войны. Поражениями и гибелью двоих Сципионов в Испании (211–212 до н. э.) они были обязаны по большей части нумидийской коннице под командованием царя Масиниссы.
Испания была основным источником воинов для Ганнибала, поэтому туда и направил Рим своего многообещающего молодого командующего Публия Сципиона-младшего, сына убитого генерала. После нескольких упорных сражений (206 до н. э.) ему в конце концов удалось вырвать всю Испанию из рук карфагенян, хотя для этого ему и пришлось позволить Газдрубалу Барке проскользнуть мимо него с подкреплениями на помощь Ганнибалу.
Газдрубал, карфагенский полководец, с большими трудами собрал армию в 70 000 пехотинцев и 4000 всадников (обратите внимание на небольшое количество всадников по отношению к числу пехотинцев – полная противоположность обычной карфагенской практике) и 32 слона. Силы Сципиона, состоявшие из римлян и испанских союзников, насчитывали 45 000 пехотинцев и 3000 всадников. Противники расположились лагерями у Илипы, причем лагеря разделялись только неглубокой долиной.