Между тем наступил конец года и вместе с ним смена главного командования. Консул Луций Писон, явившийся в армию с большим опозданием (606) [148 г.], принял начальство над сухопутной армией, а Луций Манцин стал во главе флота. Но если их предшественники добились немногого, то при новых военачальниках дело совершенно не двигалось вперед. Вместо того чтобы осаждать Карфаген или выступить против армии Гасдрубала, Писон производил нападения на мелкие приморские финикийские города — большей частью тоже безуспешно. Так, например, город Клупея отразил его нападение; осада Гиппона Диарита длилась все лето; осажденные два раза сжигали осадные машины римлян, и последние в конце концов позорно отступили. Город Неаполь, правда, был взят, но разграбление его в нарушение данного слова не могло содействовать дальнейшим успехам римского оружия. Карфагеняне воспрянули духом. Нумидийский шейх Вифий с 800 всадников перешел на их сторону. Послы карфагенян пытались завязать сношения также с царями нумидийским и мавретанским и даже с македонским лже-Филиппом. Пожалуй, не столько военные действия римлян, сколько внутренние раздоры среди самих карфагенян помешали тому, чтобы их дела приняли еще более благоприятный оборот. Так, эмигрант Гасдрубал возбудил недоверие к другому Гасдрубалу, бывшему военачальником в городе; поводом для подозрений послужило родство последнего с Массиниссой, и он был убит в здании городского совета.
Чтобы создать перелом в тревожном положении дел в Африке, Рим решил прибегнуть к чрезвычайной мере — назначить главнокомандующим единственного человека, стяжавшего славу на поле сражений в Ливии и носившего имя, которое как бы предопределяло его для этой войны. Решено было вместо должности эдила, которой Сципион добивался в это время, предоставить ему консулат до установленного срока, отменив законы, запрещавшие это, и вместе с тем специальным постановлением поручить ему ведение войны в Африке. Сципион прибыл в Утику (607) [147 г.] в очень важный момент. Римский адмирал Манцин, на которого Писон возложил номинальное продолжение осады, занял крутую скалу, отдаленную от города и почти не защищаемую; она находилась на малодоступной стороне предместья Магалии. Здесь Манцин сосредоточил почти весь свой немногочисленный отряд, надеясь, что ему удастся проникнуть отсюда в предместье. Действительно, нападающие уже проникли было в ворота, и весь лагерный сброд массами устремился в Магалию в надежде на добычу. Но карфагеняне оттеснили врага к скале, где римляне очутились в крайней опасности, так как не имели продовольствия и были почти совершенно отрезаны. Такое положение застал Сципион. Он немедленно посадил на корабли прибывшие с ним войска и ополчение города Утики и отправил их к угрожаемому пункту. Им удалось спасти находившийся там отряд и удержать за собой скалу. Устранив, таким образом, ближайшую опасность, новый главнокомандующий отправился в лагерь Писона, чтобы принять начальство над войском и повести его обратно к Карфагену. Но Гасдрубал и Вифий, воспользовавшись его отсутствием, передвинули свой лагерь к самому городу и возобновили нападение на римский отряд, стоявший на скале у Магалии. Однако и на этот раз Сципион вовремя прибыл на помощь с авангардом своих главных сил. После этого римляне возобновили осаду и вели ее упорнее прежнего. Сципион прежде всего очистил лагерь от всякого сброда и от маркитантов и снова ввел строгую дисциплину. Скоро оживились и военные действия. Римляне ночью пошли приступом на предместье. Придвинув к стене осадную башню одинаковой высоты с зубцами стены, они перебрались на стену и отворили небольшую калитку, через которую устремилось все римское войско. Карфагеняне сдали предместье и лагерь у городских ворот и поручили Гасдрубалу главное начальство над городским гарнизоном, состоявшим из 30 000 человек. Новый комендант проявил свою энергию прежде всего в том, что приказал вывести на стены всех взятых в плен римских солдат, подвергнуть их жестоким истязаниям и затем сбросить вниз на глазах у осаждающей армии. Когда этот поступок вызвал порицания, введен был террор и против карфагенских граждан.