포위된 자들의 야간 반격
포위당한 카르타고 측이 오히려 공세에 나섰다. 어느 밤, 그들은 긴 판자를 이용해 지협에 자리한 로마 진영의 해자를 건너 목책을 허물며 적진 공격을 개시했다. 마닐리우스(Manilius)의 군대에는 큰 혼란이 일었으나, 이때 다시 한번 스키피오(Scipio)가 과감한 기동으로 위기를 구했다. 그가 기병을 이끌고 카르타고군에게 역돌격을 감행한 것이다.
보급난 속에 드러난 스키피오의 명성
집정관은 진영 방어 강화에 주력했다. 병력 보급이 매우 어려웠기 때문에, 호위병을 대동한 호민관들을 교대로 파견해 주변 지역에서 목재·사료·식량을 징발하게 했다. 그러나 하스드루발(Hasdrubal)과 파메아스(Phameas)의 매복으로 거의 모든 부대가 큰 피해를 입었고, 유일하게 스키피오 아이밀리아누스(Scipio Aemilianus)만은 이를 피해냈다. 젊은 지휘관의 명성은 점차 자신의 부대를 넘어 퍼져나갔고, 그는 곧 로마군에서 가장 유능하고 인기 있는 장교로 떠올랐다.
네페리스 원정의 참패
부하의 명성을 질투하게 된 집정관 마닐리우스는 자신의 위상을 회복하고자 원정을 계획했다. 목표는 튀니스 남동쪽 약 30km 고지대에 위치한 도시 네페리스(Nepheris)였다. 하스드루발은 이곳에 사령부를 두고 로마군을 감시하며 위협할 수 있었다. 그러나 전쟁 경험이 부족한 집정관은 스키피오의 정중한 충고에도 불구하고 작전을 엉망으로 시작했고, 결국 다시 스키피오가 간신히 로마 코호트를 극한의 상황에서 빼내야 했다. 손실은 막심했고, 군단병들은 이제 매번 최악의 국면에서 그들을 구해내는 이 젊은 호민관만을 믿게 되었다.
원로원의 조사와 마시니사의 유언
교착 상태에 빠진 공성전을 조사하기 위해 로마 원로원이 사절단을 파견하자, 이들은 스키피오의 군사적 가치에 대한 만장일치의 증언을 수집했다. 또한 임종을 앞둔 누미디아 왕 마시니사(Massinissa)도 자신의 재산 분배 문제를 이 젊은 호민관에게 맡겼다. 스키피오는 왕국의 통치권을 세 명의 적법한 아들들에게 각자의 능력에 따라 나누어 주었다. 굴루사(Gulussa)는 누미디아 군대의 지휘권을 받아 이를 로마에 제공했다. 하스드루발과 파메아스가 펼치는 소규모 교전에 대한 풍부한 경험 덕분에 그의 존재는 더없이 귀중했으며, 그는 카르타고에 충성하던 여러 도시들을 로마 측으로 돌려세우는 데도 크게 기여했다.
파메아스의 배반과 지휘부 교체
파메아스와 우연히 만나 대화를 나눈 스키피오는 하스드루발의 부장을 카르타고 진영에서 이탈시키는 데 성공했다. 파메아스는 기병대를 이끌고 로마군에 합류했으며, 이는 젊은 호민관에게 또 하나의 승리였다.
한편 로마의 집정관 임기는 1년에 불과했다. 기원전 149년 말, 마닐리우스는 후임 피소(Piso)에게 지휘권을 넘겨주었고, 함대 사령관 만키누스(Mancinus)가 그를 보좌했다. 마닐리우스는 로마로 돌아갔는데, 그보다 먼저 귀환한 스키피오는 승리자로 환영받았고 파메아스 역시 함께였다.
새 지휘부의 실패와 카르타고의 재기
그러나 새로 부임한 지휘부는 군사 작전에서 연달아 실패했다. 카르타고는 다시 고개를 들었다. 도시는 더 이상 봉쇄되지 않았고, 심지어 포위당한 비제르트(Bizerte, 옛 히포자리토스)까지 구출해낼 수 있었다. 이 항구를 근거지로 삼은 수많은 해적들이 로마군을 향한 보급선단을 끊임없이 괴롭혔기 때문이다. 포에니 정부는 로마에 맞서 다른 세력을 규합하기 위해 사절들을 파견했다. 굴루사의 부하 장수 하나가 기병 800명을 이끌고 이탈했고, 무어인들마저 포섭 대상이 되었다.
하스드루발의 야심과 내부 숙청
그러나 야망과 질투는 하스드루발을 갉아먹었다. 네페리스군의 지휘권만으로는 그의 욕심을 채우기에 부족했다. 그는 동명이인인 하스드루발, 즉 굴루사의 외가 쪽 조카로서 카르타고 시의 방어를 책임지던 인물에 대해 중상모략 캠페인을 벌였다. 후자는 누미디아 적과 내통한 혐의를 뒤집어씌워졌고, 결국 원로원 한복판에서 암살당했다. 이로써 하스드루발은 모든 카르타고군의 총사령관 자리에 올랐다.