Po kęskach na własnym terenie, rzymianie przenieśli działania wojenne na kontynent afrykański. Do decydującej bitwy doszło pod Zamą, 19 października 202 r. p.n.e.. Siłami rzymskimi dowodził nowo wybrany konsul - Publiusz Korneliusz Scypion, a po stronie Kartaginy – Hannibal, który został odwołany z Italii.
Bitwa pod Zamą – Przebieg
Właściwa bitwa rozpoczęła się od natarcia przy użyciu słoni bojowych, miały one stanowić najważniejszy punkt uderzeniowy Kartagińczyków. Scypion jednak rozkazał swoim ludziom hałasować, co miało wystraszyć słonie. Jego plan powiódł się w pełni – słonie nie dość, że ominęły legiony Scypiona, to niektóre z nich wystraszone ruszyły szarżą w stronę wojsk kartagińskich.
Po kompletnie nieudanym ataku słoni, konnica rzymska rozbiła słynną ciężką jazdę Hannibala. Sytuacja jego piechoty miała się podobnie, rzymianie przerywali kolejne linie, posuwając się systematycznie do przodu.
Ostateczny cios wojskom kartagińskim zadała konnica, którą Scypion – podobnie jak Hannibal pod Kannami, zakleszczył z dwóch stron siły nieprzyjaciela. On sam uszedł z pola bitwy z powrotem do Kartaginy.
Bitwa pod Zamą – Skutki
Po zwycięskiej bitwie Rzym został jedyną potęga morską w obszarze basenu Morza Śródziemnego. Od tej pory mógł kontynuować dalszą ekspansje terytorialną.
Przegrana bitwa dla Kartaginy oznaczała koniec silnego państwa. W ramach zawartego pokoju musiała zrezygnować ze swoich wszystkich zdobytych posiadłości poza Afryką. Oprócz tego wypłaciła Rzymowi olbrzymie odszkodowanie w wysokości 10 tyś. talentów. Ponadto, co była prawdopodobnie najbardziej upokarzające, od tej pory nie mogła wypowiadać nikomu wojny bez wcześniejszej zgody po stronie rzymskiej.