Cuando el senado cartaginés vio que hiciera las concesiones que hiciera, no podía evitar los propósitos romanos para destruir Cartago, y cuando se iniciaron los preparativos para el enfrentamiento final llamaron a Asdrúbal y le dieron el mando (149 a. C.) junto con otro Asdrúbal (nieto de Masinisa) que tendría el mando de la ciudad. Su ejército le aseguraba el dominio en campo abierto y la llegada de suministros a la ciudad, mientras los romanos debían recibir sus provisiones por mar.