Hannibalin voitettua roomalaiset Cannaen taistelussa 216 eaa. konsuli Publius Cornelius Scipio ryhtyy suunnittelemaan Sisiliasta käsin sotaretkeä Kartagoa vastaan. Afrikassa Scipio tapaa liittolaisensa Masinissan ja tarjoaa numidialaisten kuninkaalle Syfaxille välittäjän roolia. Syfaxin vaimo Sofonisba taivuttaa tämän kartagolaisten puolelle, jolloin Scipio hyökkää numidialaisten leiriin ja vangitsee kuninkaan. Sofonisba nai Numidian kuninkaaksi julistautuneen Masinissan, mutta tekee itsemurhan, jotta tämä ei luovuttaisi häntä roomalaisille. Kartagolaiset kutsuvat Hannibalin apuun Italiasta, ja vuonna 202 maiden armeijat kohtaavat Zaman taistelussa. Norsuistaan huolimatta kartagolaiset kärsivät tappion ja juhlittu Scipio saa lisänimen ”Afrikkalainen”. Kotiin palattuaan hän menee suoraan Liternumin huvilalleen tapaamaan vaimoaan ja lapsiaan.