Pada Perang Punisia Kedua (218 SM - 202 SM), pasukan Kartago yang dipimpin oleh Hannibal menyeberangi Laut Mediterania, menyusuri Semenanjung Iberia-dimana dia berhasil menaklukkannya untuk meluaskan kekuasaan Kartago di Iberia. Kemudian, Hannibal melewati daerah Galia, dimana dia berhasil mendapatkan banyak pasukan bayaran. Hannibal dan pasukannya lalu bergerak menuju Pegunungan Alpen untuk menyerang Roma dari utara, sebagai upaya untuk menghindari hadangan Republik Romawi jika melewati daerah pesisir. Hannibal berhasil memenangkan sejumlah pertempuran dahsyat di daratan Italia, seperti Pertempuran Trebia, Pertempuran Danau Trasimene dan Pertempuran Cannae. Tiga pertempuran ini menjadi kejeniusan Hannibal dalam menghadapi pasukan Romawi yang jumlanya lebih banyak. Meski Hannibal berhasil mengalahkan Romawi di daratan Italia, serta beberapa aliansi Republik Romawi terutama daerah Italia bagian selatan menjadi berpihak kepada Hannibal, tetapi itu tidak cukup untuk menaklukkan Roma, selain pasukan Hannibal dirasakan kurang cukup untuk menaklukkan Roma, juga karena Republik Romawi masih didukung oleh sebagian besar aliansi-aliansinya.