Una segunda ofensiva, liderada por Publio Cornelio Escipión Emiliano, acabó tras un asedio de tres años de duración en el que finalmente los romanos lograron romper las murallas de la ciudad, la saquearon, y procedieron a quemarla por completo hasta sus cimientos.