Но Гамилькар не пошел напролом. Он обратил внимание, что, когда ветер дует в определенном направлении, устье Баграды заносится песком и получается пригодный для прохода брод. И вот однажды ночью, дождавшись нужного ветра, Гамилькар, никому не разглашая своего плана, вывел войска из города, переправил через реку и повел на лагерь мятежников у моста через Баграду. Первыми шли слоны, за ними конница и легкая пехота, замыкали порядок тяжеловооруженные пехотинцы. Узнав об этом, восставшие двинулись наперехват Гамилькару двумя колоннами, не менее десяти тысяч от лагеря у моста и еще более пятнадцати тысяч из Утики. Соединившись, они с жаром устремились на противника, но при их приближении Гамилькар развернул армию и сымитировал отступление. Решив, что карфагеняне в панике бегут, ливийцы, нарушив строй, бросились в погоню. В этот момент Гамилькар остановил движение и, приведя армию в боевой порядок, встретил мятежников, совсем не ожидавших такого развития событий. Среди ливийцев наступил хаос, передние подавались назад, но наталкивались на своих же, напиравших сзади. Карфагеняне между тем перешли в наступление и, перебив около шести тысяч и пленив около двух тысяч восставших, обратили остальных в бегство. Часть из них укрылась в лагере близ Утики, другие отошли к укреплению у моста через Баграду, которое Гамилькар тут же атаковал и взял, так как ливийцы уже бежали из него в Тунет. Таким образом, пунийцам удалось восстановить контроль над ближайшей к Карфагену территорией.
Видя, на что способен его новый противник, Матос решил изменить тактику. Сам он продолжил осаду Гиппакрита, в то время как Спендий и вождь кельтских наемников-галатов Автарит должны были со своими войсками двигаться параллельно Гамилькару. При этом, учитывая преимущество карфагенян в коннице и слонах, им следовало избегать равнин и использовать всякий удобный момент для нападения. Кроме того, Матос повторно разослал гонцов к ливийцам и нумидийцам с просьбами о поддержке, в которой ему снова не отказали.
Для нового похода Спендий отобрал в тунетском лагере шесть тысяч воинов и, добавив к ним две тысячи галатов Автарита, двинулся по горным склонам, контролируя перемещения карфагенян. И вот, когда Гамилькар остановился в одной из горных долин, он внезапно обнаружил, что прямо перед ним расположились лагерем ливийцы, с тыла нумидийцы, а флангу угрожает Спендий. Можно только предполагать, как Гамилькару удалось бы спастись из этой западни, если бы среди врагов у него не нашелся союзник. Им оказался знатный молодой нумидиец Нарава, симпатизировавший Карфагену и преклонявшийся перед личностью Гамилькара. Вероятно, он и раньше задумывался о переходе в правительственную армию и теперь решил, что его измена будет как нельзя более своевременной и, значит, хорошо оплачиваемой. С небольшой группой своих воинов он подъехал к расположению пунийцев и дал знак, что желает говорить с Гамилькаром. Видя, что ему не доверяют, Нарава один, безоружный, вошел в их лагерь и на встрече с карфагенским полководцем сказал, что «явился сюда, чтобы заключить дружбу с ним и быть верным товарищем его во всяком предприятии и во всяком замысле» (Полибий, I, 78, 7). Естественно, Гамилькар не стал отказываться от такого предложения и, в свою очередь, обещал нумидийцу руку своей дочери. Тут же во исполнение договора Нарава привел карфагенянам две тысячи всадников.
Столь резкое изменение в соотношении сил не обескуражило восставших: Спендий соединил свои отряды с ливийцами, спустился в долину и приготовился для полевого сражения, которое не замедлило последовать. О его подробностях практически ничего не известно. Полибий лишь отмечает важную роль слонов и действия конницы Наравы (Полибий, I, 78, 11). В итоге, потеряв около десяти тысяч человек убитыми и четырех тысяч пленными, мятежники отступили.
Одержав столь важную победу, Гамилькар постарался закрепить ее не совсем обычным, но вдвойне эффективным способом. Вместо того чтобы примерно наказать захваченных повстанцев, он предложил всем желающим вступить в его армию, а тех, кто откажется, отпускал с миром домой, советуя, впрочем, больше в плен не попадать.