Il ragazzo si distinse già diciassettenne durante la battaglia del Ticino: nel 218 a.C. avvenne il primo contatto tra le truppe di Annibale scese dalle Alpi e l’esercito romano. La prima battaglia della seconda guerra punica si trasformò in un disastro per i romani, come per molti anni a venire. Il padre, l’omonimo Publio Cornelio Scipione, era il console in carica e guidava l’esercito romano contro Annibale: finito completamente accerchiato dalla cavalleria numida del cartaginese, venne salvato miracolosamente dal giovane figlio che si gettò nella mischia da solo, riuscendolo a portare in salvo.
La battaglia di Zama
Nel 202 a.C. Scipione riuscì in quello che nessun altro aveva fatto fino ad allora: battere Annibale a Zama. Le condizioni di pace saranno durissime.
La battaglia di Canne
Nel 216 a.C. Annibale inflisse una sconfitta devastante alle legioni romane, rischiando di mettere in ginocchio la res publica, che però continuò a combattere.