Chiến tranh Punic lần thứ hai
Chiến tranh Punic lần thứ hai, cũng còn được gọi là Chiến tranh Hannibal, (bởi những người La Mã) Cuộc chiến tranh chống lại Hannibal, hoặc Chiến tranh Carthage, kéo dài từ năm 218 đến năm 201 TCN với sự tham gia của các thế lực hùng mạnh ở cả phía tây và phía đông Địa Trung Hải. Đây là cuộc chiến tranh lớn thứ hai giữa Carthage và Cộng hòa La Mã, với sự tham gia quan trọng của quân Numidia-Berber và các bộ tộc ở cả hai bên. Cả hai cường quốc này đã có ba cuộc chiến tranh lớn với nhau trong quá trình tồn tại của mình. Chúng được gọi là "Những cuộc chiến tranh Punic" bởi vì Roma gọi người Carthage là "Punici", một sự ám chỉ đến tổ tiên người Phoenicia của họ.

Cuộc chiến tranh này được ghi dấu bằng cuộc hành trình đầy bất ngờ bằng đường bộ của Hannibal và tổn thất của ông khi vượt qua dãy núi Anpơ, tiếp theo đó đoàn quân của ông được bổ sung thêm nhờ sự gia nhập của những đồng minh người Gaul và đánh cho quân đội La Mã thua liểng xiểng trong trận Trebia và một trận phục kích phi thường tại Trasimene. Nhằm đối phó lại tài năng của ông trên chiến trường, người La Mã đã triển khai chiến lược Fabius. Tuy nhiên, bởi vì sự mất lòng dân ngày càng tăng của phương pháp này, người La Mã buộc phải tiến hành một trận chiến lớn khác nữa. Kết quả của điều này đó là thảm bại của người La Mã tại Cannae. Thất bại này khiến cho nhiều đồng minh La Mã chạy sang phía Carthage, làm kéo dài cuộc chiến ở Ý trong hơn một thập kỷ, trong thời gian đó, có thêm nhiều đạo quân La Mã khác nữa bị tiêu diệt trên chiến trường. Mặc dù chịu nhiều thất bại, quân La Mã có khả năng tổ chức lại nhanh hơn người Carthage và tất cả các thành phố lớn đứng về phía đối phương đã bị chiếm lại, cũng như đánh bại một nỗ lực của người Carthage nhằm củng cố lại quân đội của Hannibal ở trận Metaurus. Trong khi đó, ở Iberia, nơi được dùng như là nguồn cung cấp nhân lực chính cho quân đội Carthage, một đoàn quân viễn chinh La Mã thứ hai dưới quyền Publius Cornelius Scipio Africanus đã chiếm được thành Tân Carthage sau một cuộc tấn công và kết thúc sự cai trị của Carthage trên đất Iberia trong trận Ilipa. Thử thách cuối cùng cho người La Mã là trận Zama xảy ra ở châu Phi giữa Scipio Africanus và Hannibal, kết quả là một thất bại dành cho Hannibal và tiếp đó là việc áp đặt các điều kiện hòa bình khắc nghiệt đối với Carthage, nó sẽ không bao giờ còn là một thế lực hùng mạnh nữa và dần trở thành một chư hầu của nhà nước La Mã.

Một diễn biến phụ khác của cuộc chiến này là cuộc chiến tranh Macedonia lần thứ nhất bất phân thắng bại xảy ra ở Đông Địa Trung Hải và khu vực Biển Ionian.

Chiến tranh Punic lần thứ hai giữa Carthage và La Mã bắt nguồn từ vụ tranh chấp về quyền lãnh đạo của Saguntum, một thành phố ven biển Iberia chịu sự ảnh hưởng của văn hóa Hy Lạp với mối quan hệ ngoại giao với La Mã. Sau vụ ám sát những người thân Carthage giữa lúc tình hình căng thẳng ngày càng tăng bên trong chính quyền thành phố, Hannibal đã bao vây thành Saguntum vào năm 219 TCN. Thành phố đã cầu cứu người La Mã giúp đỡ, nhưng những lời cầu xin lại rơi vào quên lãng. Tiếp sau một cuộc vây hãm kéo dài và một trận chiến đẫm máu, trong đó bản thân Hannibal cũng đã bị thương và quân đội gần như bị xóa sổ, người Carthage cuối cùng đã đánh chiếm được thành phố. Nhiều cư dân Saguntum đã thà chọn cách tự sát còn hơn là chịu cảnh nô dịch bởi người Carthage.

Trước chiến tranh, La Mã và Hasdrubal Ngay thẳng đã ký kết một hiệp ước và theo những gì Livy ghi lại thì cả hai phe đồng ý rằng Iber nên là ranh giới giữa hai đế quốc và sự tự do của người Saguntine cần được duy trì.

Quân đội Carthage ở Iberia, không bao gồm các lực lượng ở châu Phi, theo Polybius, có tổng cộng 90.000 bộ binh, 12.000 kỵ binh và 37 voi chiến: đó một trong những đạo quân lớn nhất thời kì Hy Lạp hóa và ngang ngửa về mặt quân số với bất kỳ đạo quân La Mã nào trên chiến trường. Hannibal khởi hành cùng đội quân này từ Tân Carthage (Cartagena, Tây Ban Nha) về phía bắc dọc theo bờ biển vào cuối mùa xuân năm 218 trước Công nguyên. Tại Ebro, ông chia đội quân của mình thành ba đạo và tiến hành chinh phục các bộ lạc từ nơi đó đến dãy núi Pyrenee trong vòng vài tuần, nhưng với thiệt hại nặng nề. Tại dãy núi Pyrenee, ông đã để lại một đội quân nhỏ gồm 11.000 quân Iberia, những người đã tỏ ra miễn cưỡng với việc rời bỏ quê hương của họ, để đảm nhận vai trò là một đơn vị đồn trú cho khu vực mới được chinh phục . Hannibal đã tiến vào xứ Gaul cùng với 50.000 bộ binh và 9.000 kỵ binh theo những ghi chép lại. Ông đã chỉ huy đội quân của mình đi theo một tuyến đường ở trong nội địa, nhằm tránh các đồng minh La Mã ở dọc theo bờ biển. Ở Gaul, các cuộc đàm phán đã giúp ông có thể hành quân mà không gặp bất cứ sự cản trờ nào trừ Trận đánh vượt sông Rhone, khi mà một đạo quân người Allobroges đã không thành công trong việc cố gắng ngăn cản 38.000 bộ binh (con số này không bao gồm bộ binh nhẹ), 8000 kỵ binh, và 37 voi chiến của ông từ phía bờ bên kia .

Trong khi đó, một hạm đội La Mã cùng với một đạo quân xâm lược cũng đang trên đường đến phía Bắc Iberia. Những chỉ huy của nó, anh em Gnaeus Cornelius Scipio Calvus và Publius Cornelius Scipio, biết rằng Hannibal đã vượt qua sông Ebro, nhưng họ đã rất ngạc nhiên bởi sự hiện diện của quân đội Carthage ở thượng nguồn sông Rhone. Sau khi tiến quân đến thành phố đồng minh Massilia, họ liền phái đi một đội quân do thám gồm 300 kỵ binh nhằm thăm dò nơi đóng quân của đối phương. Toán quân này sau đó đã đánh tan một đạo kị binh do thám của người Carthage gồm 500 kị binh Numidia và truy đuổi quân địch về tận trại chính của họ. Nhờ vậy, với hiểu biết về vị trí của kẻ thù, những người La Mã liền hành quân quay ngược trở lại, và sẵn sàng chiến đấu. Hannibal trốn tránh đạo quân này và đi theo một lộ trình không rõ tiến đến (sông Isère hoặc Durance) dưới chân dãy núi AnPơ vào mùa thu. Ông cũng đã tiếp đón những sứ giả từ các đồng minh Gaul của mình ở Ý đã kêu gọi ông đến cứu viện cho họ và chỉ cho ông con đường vượt qua dãy núi AnPơ.

Đoàn quân viễn chinh La Mã đầu tiên đến Iberia đã không thể ngăn chặn quân đội Carthage ở nội địa của Massalia, do đó, nó tiếp tục hành trình tới miền bắc Iberia dưới sự chỉ huy của Gnaeus Cornelius Scipio Calvus, một bước đi mang tính quyết định đối với kết quả của cuộc chiến tranh. Viên tướng còn lại của họ, Publius Cornelius Scipio, thì lại quay trở về Roma, và ông nhanh chóng nhận ra sự nguy hiểm của một cuộc xâm lược của Ý vào lúc này khi mà các bộ lạc người Boii và người Insubres đã đứng dậy khởi nghĩa. Sau năm 217 TCN, ông cũng tới Iberia.

Ở Iberia, sự cai trị của người Carthage khiến cho cư dân ở đây bất mãn, nhưng với việc người La Mã không có động thái gì trong cuộc bao vây thành Saguntum đã khiến cho người dân địa phương thận trọng về một liên minh chống lại những ông chủ của họ. Gnaeus Cornelius Scipio Calvus sau đó thiết lập trụ sở chính của mình tại Cissa, nằm giữa vùng đất mới bị Hannibal chinh phục gần đây, khu vực giữa sông Ebro và dãy Pyrene. Bất chấp những trở ngại ban đầu, ông nhanh chóng giành được sự ủng hộ ngày càng cao giữa những người bản địa. Điều này khiến cho viên tướng người Carthage là Hanno, cháu trai của Hannibal, quyết định giao chiến với ông trước khi quân đội của ông ta hợp nhất với quân đội theo Hasdrubal, em trai của Hannibal. Kết quả của trận Cissa là một chiến thắng cho người La Mã. Khi mà cuối cùng Hasdrubal cũng có mặt ở chiến trường, ông đã không giao chiến với quân chính quy La Mã và chỉ đơn thuần là tấn công những binh lính đang canh gác hạm đội của họ, và giết chết một số người.

Hạm đội liên hợp của người La Mã và Massalia cùng với quân đội đã tạo ra một mối đe dọa cho người Carthage. Hasdrubal dự định đầu tiên sẽ đánh bại hạm đội của họ. Tuy nhiên, lực lượng hải quân của ông đã có một lịch sử thất bại trước người La Mã. Vì lý do này, ông sẽ cho quân đội của mình hành quân cùng với hạm đội. Hạm đội này được mô tả là rất vô tổ chức trước khi bước vào trận chiến. Hạm đội 40 tàu chiến của người Carthage và người Iberia sau đó đã bị đánh bại bởi hạm đội gồm 55 tàu của người La Mã và Massalia trong trận hải chiến thứ hai của cuộc chiến tranh, với khoảng 3/4 hạm đội bị bắt hoặc bị đánh chìm và phần còn lại kéo những con tàu của họ lên bờ với cùng với đạo quân trên bờ. Kết quả là quân Carthage phải rút lui, nhưng người La Mã vẫn chỉ giới hạn trong khu vực giữa sông Ebro và dãy Pyrene.

Vị trí này ngăn cản việc người Carthage gửi quân tiếp viện từ Iberia đến cho Hannibal hoặc tới chỗ những người Gaul nổi loạn ở miền bắc Italia trong giai đoạn quan trọng của cuộc chiến. Để đối phó với vấn đề này, Hasdrubal hành quân vào lãnh thổ của người La Mã trong năm 215 TCn và giao chiến với họ tại Dertosa. Trong trận này, ông đã sử dụng ưu thế kỵ binh của mình để càn quét chiến trường và bao vây đối phương ở cả hai mặt bằng bộ binh của mình, một chiến thuật đã được sử dụng rất thành công tại Ý. Tuy nhiên, người La Mã đã phá vỡ hàng ngũ vốn dàn mỏng ra ở khu trung tâm và đánh bại cả hai bên cánh một cách lần lượt, và khiến cho quân Carthage thương vong nặng nề.

Trong lúc tình hình không có thêm sự tiến triển nào đáng kể ở mặt trận Iberia, Anh em Scipio đã có thể thương lượng để tạo ra một mặt trận mới ở châu Phi bằng cách thiết lập liên minh với Syphax, một vị vua Numidia hùng mạnh ở Bắc Phi. Trong năm 213 TCN, ông ta đã đón tiếp các cố vấn La Mã tới để huấn luyện cho những người lính bộ binh hạng nặng của mình mà lúc này vẫn chưa thể là đối trọng với quân Carthage. Với sự trợ giúp này, ông ta sau đó tiến hành chiến tranh chống lại Gala, đồng minh của người Carthage. Theo Appian, cũng trong năm 213 TCN, Hasdrubal đã rời đất Iberia và tới Bắc Phi để giao chiến với Syphax, mặc dù ông có thể bị nhầm lẫn với Hasdrubal Gisco. Hasdrubal Gisco là con trai của Gesco, người đã chiến đấu cùng với Hamilcar Barca, cha của Hannibal, ở Sicily trong cuộc chiến tranh Punic lần thứ nhất và là con rể của Hanno Già một trong những phụ tá của Hannibal ở Ý.

Trong năm 218 TCN, hải quân Carthage lại đang bận rộn với việc thám thính vùng biển Sicily và chuẩn bị cho một cuộc tấn công bất ngờ vào thành trì then chốt của họ trước đây, thành Lilybaeum, ở đầu mút phía tây của hòn đảo. Hai mươi tàu quinquereme, chở theo 1.000 binh lính, đã đột kích vào quần đảo Aegadian ở phía tây Sicily và tám con tàu khác cũng ​​dự định tấn công quần đảo Vulcan, nhưng chúng lại bị gió bão cuốn đi trong một cơn bão đang trên đường hướng về phía eo biển Messina. Sau đó, hải quân Syracuse tại Messina, đã cố gắng chiếm giữ được ba trong số các con tàu này mà không gặp phải sự kháng cự nào. Từ lời khai của đám thủy thủ đoàn rằng một hạm đội Carthage đang chuẩn bị tấn công Lilybaeum, Hiero II đã cảnh báo cho viên pháp quan La Mã, Marcus Amellius. Biết được tin báo, những người La Mã nhanh chóng chuẩn bị 20 tàu quinquereme để đánh chặn và đánh bại 35 tàu quinquereme của người Carthage trong trận Lilybaeum.

Và cũng ngay trong năm 218 TCN, người La Mã đã tích cực chuẩn bị cho một cuộc viễn chinh khởi hành từ Lilybaeum và hướng đến châu Phi. Hannibal đã dự đoán được bước đi này và tiến hành củng cố cho đội quân phòng thủ ở châu Phi với một lực lượng bao gồm 13.850 bộ binh nặng Iberia, 870 lính phóng thạch thủ người Balearic và 1.200 kị binh Iberia. Ngoài ra, khoảng 4.000 nam giới người Iberia "từ những gia đình tốt được gọi tòng quân và được chuyển đến Carthage nhằm tăng cường sức mạnh phòng thủ cho thành phố, và cũng đóng vai trò làm con tin nhằm đảm bảo sự trung thành của dân tộc họ". Đổi lại, 11.850 bộ binh Lybia, 300 người Liguria, và 500 lính phóng thạch thủ người Balearic đã được gửi đến Iberia nhằm tăng cường sức mạnh phòng thủ ở địa phương và để chống lại một cuộc xâm lược khác của người La Mã theo dự đoán.

Hải quân Carthage đã bị đánh bại bởi người La Mã trong hai trận giao chiến lớn, nhưng cả hai bên lại đều không thể ngăn chặn các cuộc đột kích khác từ bờ biển của nhau. Một ngoại lệ là năm 217 trước Công nguyên, khi một hạm đội Carthage gồm tàu 70 quinquereme đã bị chặn lại ngoài khơi bờ biển Etruria bởi một đội La Mã gồm 120 quinquereme và rút lui mà có trận chiến nào xảy ra sau đó.

Đoàn viễn chinh đầu tiên của người Carthage tới Sardinia, là vào trong năm 215 trước Công nguyên, dưới sự chỉ huy của Hasdrubal Hói cùng với thuộc cấp của ông, Hampsicora. Một cuộc nổi dậy của phe ủng hộ người Carthage xảy ra trước đó đã bị dập tắt, trong khi một cơn bão đã cuốn hạm đội Carthage đến quần đảo Balearic. Khi mà cuối cùng họ cũng đặt chân tới Sardinia, người La Mã đã nhận thức được âm mưu của đối phương và đã tăng cường các đơn vị đồn trú mà bị dân chúng ở đây căm ghét, dưới quyền chỉ huy của Titus Manlius Torquatus, lên đến 20.000 bộ binh và 1.200 kỵ binh. Người La Mã sau đó tiến đánh và đánh tan đạo quân Carthage gồm 15.000 bộ binh và 1500 kỵ binh (cùng với một số con voi) và tàn quân khởi nghĩa Sardinia tại trận Cornus. Tiếp đó, đoàn viễn chinh thất trận gồm 60 tàu quinquereme và một số tàu vận chuyển lại bất ngờ chạm trán với một hạm đội La Mã đang trên đường cướp bóc trở về từ châu Phi với 100 tàu quinquereme. Hạm đội Carthage thua chạy toán loạn và mất bảy tàu. Kết quả là, Sardinia, một hòn đảo xuất khẩu ngũ cốc quan trọng, vẫn nằm dưới sự chiếm đóng của người La Mã.

Người La Mã đồng thời nhận được tin về cuộc vượt sông Ebro của Hannibal cùng với tin một cuộc nổi dậy ở miền bắc Ý của các bộ lạc Gaul là người Boii và người Insubres . Hai bộ lạc này sau đó đã thiết lập các cuộc tiếp xúc ngoại giao với người Carthage và đứng về phía họ như là những đồng minh chống lại kẻ thù chung, La Mã. Mục tiêu đầu tiên của quân nổi dậy là các thuộc địa La Mã ở Placentia và Cremona, khiến cho những người La Mã bỏ chạy về Mutina (hiện nay là Modena), Gauls sau đó tiến hành thành vây hãm nó. Để đối phó lại, pháp quan L. Manlius Vulso liền hành quân với hai quân đoàn và quân đồng minh, với tổng số là 1.600 kị binh và 20.000 bộ binh tới Cisalpine Gaul. Đội quân này bị phục kích hai lần trên đường hành quân từ Ariminium, và bị thiệt hại 1.200 người, mặc dù vậy cuộc vây hãm Mutina đã chấm dứt, thì chính bản thân đạo quân này lại rơi vào tình thế bị vây lỏng cách Mutina vài cây số Sự kiện này đã thúc đẩy viện nguyên lão La Mã phái một trong số những quân đoàn của Scipio và 5.000 quân đồng minh tới hỗ trợ Vulso. Scipio đã phải tuyển mộ thêm quân để thay thế cho số này và do đó không thể tới Iberia cho đến tháng 9 năm 218 TCN, và điều này cho phép Hannibal có thêm thời gian để từ Ebro tới Rhone.

Sau khi tránh khỏi tham gia vào một trận chiến lớn tại khu vực sông Rhone, Hannibal đã nhanh chóng hành quân đến trợ giúp cho các đồng minh người Gaul của ông, vốn đang bị nguy khốn bởi quân tiếp viện La Mã. Ông đã vượt qua dãy núi An-Pơ, vượt qua những khó khăn của khí hậu và địa hình, cùng với những khó khăn từ chiến thuật du kích của các bộ lạc bản địa. Tuyến đường chính xác của ông hiện vẫn đang còn trong tranh cãi. Hannibal đặt chân đến miền bắc Ý với ít nhất 28.000 bộ binh, 6.000 kỵ binh và 30 con voi trên vùng lãnh thổ của người Taurini, mà bây giờ là Piedmont. Mặc dù điều này đã được những người La Mã dự đoán, nhưng họ đã không lường trước được đối phương lại đến sớm như vậy và quân đội của họ vẫn còn ở khu vực trú đông. Cuộc hành trình vượt dãy AnPơ này được ghi nhận là một trong những thành tựu vĩ đại nhất về mặt hậu cần quân đội, vì ông đã vượt qua dãy núi AnPơ thông qua khu vực lãnh thổ thù địch vào cuối mùa thu không có sự trợ giúp quân lương nào. Cùng với việc bất ngờ tiến quân vào bán đảo Ý của ông đã khiến cho La Mã chấm dứt dự định thúc đẩy một cuộc xâm lược châu Phi.

Những người Gaul đồng minh của Hannibal thì lại ở hạ lưu thung lũng sông Po, và vẫn còn khá xa vời. Đầu tiên, Hannibal bắt buộc phải chiến đấu cùng đạo quân đã suy yếu của mình để có thể để tiếp cận với họ và kích động phần còn lại của Gallia Cisalpina tiến hành cuộc nổi dậy. Hành động đầu tiên của ông là đánh chiếm thành phố chính của người Taurini thù địch. Sau đó, người Carthage đã bị chặn lại bởi một đạo quân La Mã mới được xây dựng dưới sự chỉ huy của Publius Cornelius Scipio, người mà Hannibal từng lẩn tránh trước đó ở trong thung lũng sông Rhone, và đã không lường trước được đối thủ của mình lại đến sớm như vậy. Trong trận Ticinus diễn ra sau đó, lực lượng kỵ binh của quân đội của Hannibal đánh bại kỵ binh và bộ binh hạng nhẹ của người La Mã trong một trận giao tranh nhỏ. Scipio đã bị thương nặng trong trận đánh này, và phải rút ​​lui về phía bên kia sông Trebia với bộ binh nặng của ông vẫn còn nguyên vẹn. Ông ta sau đó đóng trại tại thị trấn Placentia để chờ quân tiếp viện. Như là kết quả từ thất bại của người La Mã tại Ticinus, tất cả người Gaul trừ người Cenomani đã đứng về về phía quân Carthage. Cả người Gaul và Liguria đều đã tham gia vào quân đội của người Carthage, và giúp cho quân đội của Hannibal lên đến 40.000 người. 

Ngay cả trước khi tin tức về thất bại tại sông Ticinus truyền tới Roma, viện nguyên lão đã ra lệnh cho chấp chính quan Sempronius Longus đem đạo quân của ông ta quay trở về từ Sicily, nơi mà nó đang chuẩn bị cho cuộc xâm lược châu Phi, để kết hợp cùng Scipio và đối phó với Hannibal. Hannibal đã ngăn chặn không cho quân đội của Scipio và Sempronius có thể gặp nhau. Tuy nhiên, với việc người Carthage đánh chiếm được kho lương tại Clastidium, thông qua sự phản bội của viên chỉ huy Latin ở địa phương, đã tạo cơ hội như là một sự chuyển hướng và cho phép quân đội của Sempronius có thể tiến quân tới chỗ của Scipio, người vẫn còn bị thương quá nặng để có thể chỉ huy. Sau một số thành công nhỏ, đạo quân thống nhất và có số lượng ngang ngửa này của người La Mã, dưới quyền Sempronius Longus đã bị nhử vào một trận giao chiến với Hannibal tại trận Trebia. Quân đội La Mã bị kéo vào cuộc chiến này mà không ăn bữa sáng và đầu tiên họ đã phải vượt qua một con sông giá lạnh, điều này khiến cho họ nhanh chóng bị mất sức. Hơn nữa, một đội đang mai phục dưới quyền Mago, người em út của Hannibal sẽ tấn công họ từ phía sau. Người La Mã sau đó đã bị tổn thất nặng nề với việc chỉ có 20.000 người trong số 40.000 binh lính có thể rút lui đến nơi an toàn. Điều này khiến cho họ phải rút khỏi Cisalpine Gaul. Sau khi củng cố được vị trí của mình ở phía bắc Italy nhờ chiến thắng này, Hannibal cho quân đội của mình trú đông ở giữa những người Gaul. Họ sau này sẽ gia nhập quân đội của ông với số lượng lớn, khiến cho nó lên đến 60.000 người, tuy nhiên, sự nhiệt tình của họ đã phần nào bị giảm bớt do người Carthage sống trên đất của họ.

Viện nguyên lão La Mã đã quyết định xây dựng một quân đội mới nhằm chống lại Hannibal dưới quyền hai chấp chính quan mới được bầu vào năm 217 TCN, Gnaeus Servilius Geminus và Gaius Flaminius. Viên chấp chính quan thứ hai từ lâu đã không tin tưởng những vị nguyên lão đồng sự của mình và sợ rằng họ sẽ cố gắng để phá hoại quyền chỉ huy của ông ta bằng cách tìm cớ để trì hoãn sự khởi hành của mình. Vì vậy, ông ta lặng lẽ rời Roma để tiếp nhận quân đội của mình tại Ariminum mà không cần thực hiện các nghi lễ tôn giáo kéo dài theo yêu cầu đối với một chấp chính quan mới được bầu.Viện nguyên lão đã bỏ phiếu nhất trí triệu hồi ông ta, nhưng ông đã phớt lờ mệnh lệnh của họ. Điều này gây ra sự mất tinh thần lan tràn giữa những người La Mã, vì họ sợ rằng Flaminius không tôn trọng các vị thần và sẽ mang đến thảm họa cho Roma. Theo như những gì mà ông ta dự đoán rằng Hannibal sẽ tiến vào miền trung Ý, Flaminius di chuyển quân đội của ông từ Ariminum tới Arretium, để nhằm khống chế những con đường đèo của dãy núi Apennine mà đi vào vùng Etruria. Người đồng cấp Servilius của ông, sau khi thực hiện các nghi lễ tôn giáo đã thay thế ông cùng với quân đội được xây dựng mới tại Ariminum để khống chế các tuyến đường dọc theo bờ biển Adriatic. Một lực lượng thứ ba, bao gồm những người sống sót từ các cuộc giao tranh trước đó, cũng đã được đóng quân ở Etruria dưới quyền Scipio. Vì vậy, tất cả các tuyến đường phía đông và phía tây đến Roma dường như đã được canh giữ. 

Vào đầu mùa xuân 217 trước Công nguyên, Hannibal đã quyết định tiến quân, và rời bỏ các đồng minh người Gaul đang dao động của ông trong thung lũng Po và vượt qua dãy Apennine mà không gặp phải sự kháng cự nào. Sau đó, ông tránh các vị trí của người La Mã và sử dụng con đường duy nhất qua cửa sông Arno mà không có sự trấn giữ để tiến vào Etruria. Tuyến đường này xuyên qua một đầm lầy lớn, mà thường xuyên xảy ra tình trạng ngập lụt hơn vào mùa xuân. Quân đội của Hannibal đã hành quân trong nhiều ngày mà không tìm thấy địa điểm thuận tiện để nghỉ ngơi, và phải chịu tình trạng đau đớn khủng khiếp từ sự mệt mỏi và thiếu ngủ. Điều này dẫn đến việc tổn thất mất một phần đạo quân này, có vẻ như bao gồm cả những con voi còn lại.

Đặt chân đến Etruria trong mùa xuân năm 217 TCN, Hannibal đã cố gắng để nhử cánh quân chủ lực của người La Mã dưới quyền Flaminius vào một trận quyết chiến bằng cách tàn phá khu vực mà ông ta được phái tới bảo vệ nhưng không có kết quả Sau đó, Hannibal đã sử dụng một mưu kế mới, ông hành quân vòng quanh cánh trái của đối phương và tỏ ra hiệu quả trong việc chia cắt ông ta khỏi Roma. Tiến quân qua các vùng cao nguyên của Etruria, người Carthage giờ gây đã khiêu khích Flaminius vào một cuộc truy đuổi vội vàng mà không tiến hành thám thính trước. Sau đó, trong hẻm núi trên bờ hồ Trasimenus, Hannibal bố trí một cuộc phục kích với quân đội của ông. Cuộc phục kích đã thành công hoàn toàn: trong trận Hồ Trasimene, Hannibal đã tiêu diệt gần như toàn bộ quân đội La Mã và giết chết Flaminius và quân đội của ông không bị thiệt hại nhiều. 6.000 người La Mã đã có thể trốn thoát, nhưng sau đó họ đã bị kị binh Numidia của Maharbal đuổi kịp và buộc phải đầu hàng. Hơn nữa, Scipio, sau khi biết tin về trận đánh, đã phái kỵ binh của mình để hỗ trợ nhưng họ cũng đã bị đánh chặn và tiêu diệt. Như là kết quả của chiến thắng này, đạo quân ô hợp bao gồm quân nổi dậy người Gaul, người châu Phi, người Iberia và Numidia đã được trang bị tốt hơn nhiều những gì họ có thể sử dụng cho bản thân và bán những phần dư thừa thông qua các thương nhân Ai Cập cho chính người La Mã. Giống như tất cả các cuộc giao tranh trước đó, những tù binh bị bắt được phân loại thành một bên là người La Mã, thì bị giữ làm tù binh, còn những người không phải người La Mã, thì được trả tự do để tuyên truyền rằng quân đội Carthage có mặt ở Ý là để chiến đấu cho quyền tự do của họ chống lại người La Mã. Về mặt chiến lược, Hannibal bây giờ đã loại bỏ hoàn toàn đạo quân duy nhất có thể cản đường tiến quân của ông về La Mã, mặc dù vậy lại có một cuộc tranh cãi giữa các tướng lĩnh của ông, và ông đã không tiến hành tấn công Roma. Thay vào đó, ông hành quân về phía Nam với hy vọng lôi kéo thêm đồng minh trong số cư dân Hy Lạp và Ý.

Thất bại tại hồ Trasimene đã khiến cho những người La Mã rơi vào tình trạng hoảng loạn, và lo sợ cho sự tồn tại của thành phố. Viện nguyên lão đã quyết định dùng đến để biện pháp khẩn cấp truyền thống đó là chỉ định một quan Độc tài, một tổng chỉ huy tạm thời, ông ta sẽ thâu tóm toàn bộ quyền hành đối với quân đội, vốn được thường được phân chia giữa hai chấp chính quan, theo một thời hạn sáu tháng. Thủ tục thông thường yêu cầu sự hiện diện của một chấp chính quan để được bổ nhiệm là nhà độc tài. Vào lúc đó, một trong hai chấp chính quan (Flaminius) đã tử trận và người còn lại (Servilius) thì lại đang ở cùng với đạo quân duy nhất còn lại ở Ý, Viện nguyên lão quyết định bầu một nhà độc tài của chính nó. Vì đây là một điều trái với hiến pháp, người được bổ nhiệm, Quintus Fabius Maximus, được trao tước hiệu "prodictator" (quyền độc tài) mặc dù ông đã giữ quyền hạn giống như một nhà độc tài. Viện nguyên lão cũng bổ nhiệm luôn viên "equitum magister" cho ông ("Tổng chỉ huy kỵ binh, người giữ vai trò phó tư lệnh) thay vì cho phép nhà độc tài tự mình nắm giữ quyền lực: M. Minucius Rufus 

Từ bỏ truyền thống quân sự La Mã đó là giao chiến với kẻ thù trong những trận quyết chiến càng sớm càng tốt, Fabius nghĩ ra chiến lược Fabius: từ chối các trận đánh lớn với đối thủ của mình, nhưng thay vào đó liên tục giao tranh với các đội quân nhỏ của đối phương. Sáng kiến này không được lòng các binh sĩ, họ gán cho Fabius biệt danh "Cunctator"("Người trì hoãn"), kể từ lúc ông dường như tranh né những trận chiến trong khi Ý đang bị tàn phá bởi kẻ thù. Hơn nữa, nó cũng khiến nhiều người lo sợ rằng, nếu Hannibal tiếp tục cướp bóc Ý mà không gặp bất cứ sự kháng cự nào, sẽ làm cho đồng minh của họ sợ hãi, và tin tưởng rằng La Mã không còn đủ khả năng bảo vệ họ, có thể khiến họ đào ngũ và chuyển sang cam kết trung thành với người Carthage. Như là một biện pháp đối phó, cư dân của các ngôi làng đã được khuyến khích tham gia vào việc cảnh giới, để họ có thể thu thập vật nuôi và tài sản của họ trong thời gian này và trú ẩn trong những thị trấn được tăng cường mà kẻ thù không thể đánh chiếm. Đường lối của Fabius chẳng khác gì cái bóng của Hannibal bằng cách di chuyển theo chiều song song với đà tiến quân của người Carthage trên vùng đồng bằng, để tránh kỵ binh của Hannibal vốn có ưu thế trên địa hình bằng phẳng. Điều này đòi hỏi một sự cẩn trọng tuyệt đối, vì khi đó người Carthage đã cố gắng với tất cả khả năng của mình để phục kích những người La Mã. Vì lý do này, một đội hình hành quân mới, với ba đội hình hàng dọc song song của bộ binh, đã được phát triển thay vì một đội hình hàng dọc duy nhất đã được sử dụng tại hồ Trasimene.

Fabius liên tục quấy rối đội quân què quặt Hannibal và đã bắt được nhiều tù binh. Cả hai vị chỉ huy đã quyết định rằng họ sẽ trao đổi tù binh theo các điều kiện tương tự như trong cuộc chiến tranh Punic lần thứ nhất. Dẫu vậy người Carthage đã giao trả người La Mã nhiều hơn hàng trăm tù binh so với số mà họ nhận được và vì vậy họ mong đợi nhận được bồi thường bằng tiền, Viện nguyên lão thì lại miễn cưỡng trả tiền. Tuy nhiên, những điền sản của Fabius đã không bị các toán quân cướp bóc người Carthage đụng đến nhằm để kích động sự mất lòng tin chống lại ông. Fabius lúc này bán các điền trang của mình để có tiền trả cho quân địch và nhận lại số tù binh còn lại.

Sau khi tàn phá vùng Apulia mà không chọc tức được Fabius tham gia vào một trận chiến, Hannibal quyết định hành quân qua vùng Samnium để vào đất Campania, một trong những tỉnh giàu nhất và màu mỡ nhất ở Ý, với hy vọng rằng sự tàn phá sẽ lôi kéo Fabius vào trận chiến. Về phần mình, Fabius nhận thấy rằng ông có được một cơ hội tuyệt vời để bẫy quân Carthage trên đồng bằng Campanian và buộc Hannibal phải chiến đấu trong các ngọn núi xung quanh ở vị chí theo sự lựa chọn của riêng ông. Khi mà một năm nữa dần qua đi, Hannibal quyết định rằng sẽ là không khôn ngoan khi trú đông ở vùng đồng bằng đã bị tàn phá của Campania nhưng Fabius đã đảm bảo rằng tất cả lối thoát của các con đường vượt núi đều đã bị chặn. Tình trạng này đã dẫn đến trận chiến đêm ở Ager Falernus trong đó người Carthage tìm được cách trốn thoát bằng cách lừa những người La Mã tin rằng họ đang trên đường tới các đỉnh núi ở phía trên họ. Người La Mã vì vậy đã mắc bẫy và quân Carthage rút quân qua một con đường không được bảo vệ với tất cả quân nhu của họ. Đây là một đòn nghiêm trọng đối với uy tín của Fabius.

Minucius, viên "magister equitum", là một trong những người có tiếng nói quan trọng trong quân đội chống lại việc chấp nhận chiến lược Fabius. Ngay sau khi ông ta đạt được một thành công nhỏ, bằng cách chiến thắng một cuộc giao tranh với người Carthage, Viện nguyên lão đã thăng chức cho Minucius lên thành "imperium"(quyền chỉ huy) ngang bằng với Fabius, người mà ông ta cáo buộc là hèn nhát. Kết quả là, hai người đã quyết định để phân chia đội quân giữa họ. Đội quân của Minucius đã nhanh chóng bị nhử vào một cuộc phục kích của Hannibal trong vùng đất bằng phẳng của Geronium. Fabius Maximus đã vội vã đến hỗ trợ người đồng cấp của mình và quân đội của Hannibal ngay lập tức rút lui.

Fabius dần làm mất lòng dân chúng thành Roma, kể từ lúc chiến thuật của ông đã không dẫn đến một kết thúc nhanh chóng cho cuộc chiến. Dân La Mã chế giễu ông là "Người Trì Hoãn", và trong cuộc bầu cử vào năm 216 trước Công nguyên, họ đã bầu Gaius Terentius Varro làm chấp chính quan, ông ta là người vốn chủ trương theo đuổi một chiến lược chiến tranh hung hăng hơn và Lucius Aemilius Paullus, người ủng hộ một chiến lược giữa giữa các chiến thuật của Fabius và các chiến thuật được đề xuất bởi Varro. Trong chiến dịch năm 217 TCN, Hannibal đã thất bại trong việc giành được sự ủng hộ giữa những cư dân Ý. Vào mùa xuân năm 216 trước Công nguyên, ông đã nắm lấy thế chủ động ​​và đánh chiếm kho lương lớn tại Cannae ở vùng đồng bằng Apulia. Như vậy, bằng cách chiếm Cannae, Hannibal đã tự đặt mình vào giữa những người La Mã và nguồn cung cấp lương thực quan trọng bậc nhất của họ. Viện nguyên lão La Mã đã trao quyền xây dựng một đội quân lớn gấp đôi cho hai chấp chính quan Varro và Aemilius Paullus. Theo một số ước tính, người La Mã đã xây dựng một đạo quân lớn lên tới khoảng 100.000 người, mặc dù con số này không thể hoàn toàn được xác nhận.

Hai chấp chính quan Aemilius Paullus và Varro quyết tâm đối đầu với Hannibal và họ hành quân về phía nam tới Apulia. Sau một cuộc hành quân kéo dài hai ngày, họ đã tìm thấy ông ta ở bên bờ trái của sông Aufidus, và đóng trại cách đó sáu dặm (10 km). Hannibal đã lợi dụng sự háo hức của Varro và lừa ông ta vào một cái bẫy bằng cách sử dụng một chiến thuật bao bọc nhằm loại bỏ ưu thế về quân số của người La Mã. Hannibal đã bố trí lực lượng bộ binh ít đáng tin cậy nhất của ông ở trung tâm của hình bán nguyệt, với hai bên cánh bao gồm kị binh người Gaul và người Numidia. Các quân đoàn La Mã đã tấn công mạnh nhằm vào khu trung tâm yếu của Hannibal, nhưng các lính đánh thuê Libya ở hai bên cánh, lại đe dọa sườn của họ. Cuộc tấn công bởi kỵ binh của Hannibal là không thể ngăn cản và viên tướng kị binh Hasdrubal (không nhầm lẫn với em trai của Hannibal đang tiến hành chiến dịch ở Iberia ), đánh tan tác kỵ binh La Mã La Mã bên cánh phải và sau đó càn quét xung quanh hậu phương của quân La Mã và tấn công kỵ binh của Varro bên cánh trái của người La Mã, và sau đó là các quân đoàn, từ phía sau. Kết quả là quân đội La Mã bị bao vây và không còn đường trốn thoát. Nhờ các chiến thuật tuyệt vời này, Hannibal, với quân số thua kém hơn nhiều, đã tiêu diệt gần tất cả quân La Mã trong trận này. Đã có ước tính rằng khoảng 50,000-70,000 người La Mã đã bị giết hoặc bị bắt làm tù binh ở Cannae.

Như Polybius đã ghi lại: "Nặng nề hơn cả thất bại ở Cannae, là việc những đồng minh cũ của La Mã, những thành bang tưởng như trung thành hết mực, nay đã rời bỏ liên minh chỉ với một lý do đơn giản, họ đã hết hy vọng với sức mạnh của La Mã." Cùng trong năm này, các thành phố Hy Lạp trên đảo Sicilia bắt đầu nổi dậy chống lại sự cai trị của La Mã, cùng với đó, vua Philippos V của Macedonia cũng tỏ sự ủng hộ Hannibal bằng cách phát động cuộc Chiến tranh Macedonia lần thứ nhất chống lại La Mã. Hannibal cũng củng cố được liên minh với vị vua mới Hieronymus của Syracuse, thành bang độc lập duy nhất ở Sicilia, và người Tarentum cũng đứng về phía ông cùng thời gian đó. Người Gaul ở miền Bắc Italia cũng trở thành một lực lượng ủng hộ Hannibal. Hannibal bây giờ đã có đủ nguồn lực và nhân lực cần thiết để tiến hành một cuộc tấn công thành công vào thành Rome. Tuy nhiên, ông lại không chắc chắn về tính khả thi của cuộc tấn công này và đã dành rất nhiều thời gian cân nhắc nó. Trong khi ông do dự thì người La Mã đã có thể tập hợp lại, và cơ hội đã trôi qua. Một sự kiện đáng chú ý khác trong năm 216 trước Công nguyên là sự đào ngũ của Capua, thành phố lớn thứ hai của Ý, Hannibal đã biến nó thành căn cứ mới của mình. Tuy nhiên, ngay cả điều này cũng không thể làm ông hài lòng vì chỉ có một vài thành bang ở Ý mà ông đã dự kiến ​​sẽ giành được như những đồng minh đã đồng ý đứng về phía ông. Hơn nữa, hải quân Macedonia lại không thể giao chiến với hải quân La Mã, do đó, họ không thể để giúp ông một cách trực tiếp được.

Hannibal đã gửi một phái đoàn đến La Mã để đàm phán một nền hòa bình và một đề nghị khác về việc trao đổi những tù nhân La Mã của ông để đổi lấy những khoản tiền chuộc, nhưng Roma đã từ chối tất cả các lời đề nghị.
Sau trận Cannae, một số đồng minh miền nam Ý ngay lập đứng về phía Hannibal: các thị trấn của người Apulia như Salapia, Arpi và Herdonia và nhiều thành phố khác của người Lucania. Mago hành quân về phía nam với một đội quân đội nhỏ, và một vài tuần sau đó, người Brutti cũng gia nhập với ông ta. Đồng thời, Hannibal hành quân phía bắc cùng với một phần quân đội của ông và người Hirpini và Caudini, hai trong số ba thành bang của người Samnite, cũng gia nhập với ông. Thành công lớn nhất mà ông giành được đó là thành phố lớn thứ hai của Ý, Capua, khi quân đội của Hannibal hành quân vào vùng Campania trong năm 216 TCN. Cư dân của Capua đã có quyền công dân La Mã một cách giới hạn và tầng lớp quý tộc của nó đã liên kết với những người La Mã thông qua hôn nhân và tình bạn, nhưng với tham vọng có thể trở thành thành phố siêu cường của Ý sau những thảm bại gần đây của người La Mã rõ ràng đã là một sự cám dỗ quá lớn. Hiệp ước giữa họ và Hannibal có thể được mô tả như là một thỏa thuận hữu nghị, với việc người Capua cung cấp các bến cảng mà qua đó Hannibal có thể đón nhận được quân tăng viện .

Năm 215 TCN, hệ thống liên minh của Hannibal đã khống chế phần lớn miền nam Italy, ngoại trù các thành phố Hy Lạp dọc theo bờ biển (ngoại lệ là Croton đã được chinh phục bởi các đồng minh của ông), Rhegium, và các thuộc địa Latin như Beneventum, Luceria ở Samnium, Venusia ở Apulia, Brundisium và Paestum. Vùng đất Gaul độc lập mà ông đã thiết lập ở miền bắc Italia vẫn còn nằm ngoài sự kiểm soát của người La Mã.

Hannibal đã có thể lôi kéo được một căn cứ quan trọng vào liên minh của mình nhờ vào những thành công quân sự to lớn của ông. Ông cũng coi nó như là điều cần thiết để chiếm được thành phố Nola, một pháo đài La Mã ở Campania, một vùng đất mà liên kết hàng loạt đồng minh khác nhau của ông về mặt địa lý và có bến cảng quan trọng nhất dành cho việc tiếp tế. Trước khi ông tiến hành những nỗ lực đầu tiên của mình, phe ủng hộ người Carthage trong thành phố đã bị người La Mã loại bỏ, vì vậy không có cơ hội nào để cho thành phố có thể phản bội. Hannibal đã cố gắng ba lần, bằng cách tấn công hay vây hãm nhằm chiếm thành phố này từ tay Marcus Claudius Marcellus trong ba lần vào năm 216 TCN, lần thứ hai vào năm 215 TCN và lần thứ ba vào năm 214 TCN, nhưng tất cả đều thất bại. Ít nhất là vào năm 215, Hannaibal đã có thể chiếm được Casilinum, một vị trí chiến lược quan trọng cho phép việc kiểm soát vùng Campania.

Mặc dù không nối liền với bán đảo Ý, Syracuse trên đảo Sicily vẫn giữ vai trò quan trọng nhờ việc nắm giữ tuyến đường biển cho việc tiếp tế, kể từ lúc Lilybaeum nằm trong tay người La Mã. Hannibal đã được hỗ trợ bởi thực tế đó là Hiero II, bạo chúa cũ của Syracuse và một đồng minh trung thành của La Mã, đã qua đời và Hieronymos, người lên kế vị ông ta lại bất mãn với địa vị của mình trong liên minh La Mã. Hannibal đã cử hai phụ tá của ông tới chỗ ông ta, họ vốn là những người có gốc gác Syracuse, và họ đã thành công trong việc lôi kéo Syracuse, tuy nhiên đổi lại là việc cho phép người Syracuse chiếm lấy toàn bộ Sicily. Người Syracuse có tham vọng to lớn, nhưng mà quân đội mà họ đưa ra chiến trường lại không thể là đối trọng với đạo quân La Mã được phái đến, và kết quả là dẫn đến thành Syracuse bị vẫy hãm từ năm 214TCN trở đi. Trong cuộc vây hãm này, nhờ vào những cỗ máy khéo léo của Archimedes, họ đã đánh bại tất cả các cuộc tấn công của người La Mã.

Bản chất chiến dịch của Hannibal ở Ý là sử dụng các nguồn lực tại chỗ để chống lại người La Mã và chiêu mộ thêm binh lính từ những cư dân địa phương. Hanno, thuộc cấp của ông đã có xây dựng được một đội quân ở vùng Samnium, nhưng người La Mã đã chặn đạo quân mới được chiêu mộ này trong trận Beneventum (214 TCN) và tiêu diệt nó trước khi nó có thể nằm dưới sự lãnh đạo đáng sợ của Hannibal. Hannibal có thể lôi kéo những đồng minh về phía mình, nhưng việc bảo vệ họ chống lại người La Mã là một vấn đề mới và khó khăn, vì người La Mã vẫn có thể đem ra chiến trường nhiều đạo quân với quân số vượt trội so lực lượng riêng của ông. Vì vậy mà Fabius đã có thể đánh chiếm lại thành Arpi, đồng minh của người Carthage trong năm 213 TCN.

Ở Iberia, anh em Scipio đã chiêu mộ 20.000 lính đánh thuê người Celtiberia để củng cố cho quân đội của họ vốn gồm 30.000 bộ binh và 3.000 kỵ binh. Sau khi nhận thấy rằng quân đội Carthage đã được triển khai một cách tách biệt giữa họ với nhau, trong đó Hasdrubal Barca và 15.000 quân ở gần Amtorgis, còn Mago Barca và Hasdrubal Gisco, cả hai với 10.000 quân, lại ở xa về phía Tây của Hasdrubal, anh em Scipio đã lên kế hoạch để phân chia quân đội của họ. Publius Scipio đã quyết định đưa 20.000 lính La Mã và đồng minh để tấn công Mago Barca gần Castulo, trong khi Gnaeus Scipio đã chỉ huy một quân đoàn đôi (10.000 quân) cùng với lính đánh thuê để tấn công Hasdrubal Barca. Mưu kế này đã dẫn đến 2 trận đánh đó là trận Castulo và trận Ilorca, mà xảy ra trong cùng một vài ngày ở mỗi nơi, thường được coi chung là trận Thượng Baetis (211 TCN). Cả hai trận đánh kết thúc với thất bại cho những người La Mã vì Hasdrubal đã mua chuộc đám lính đánh thuê của người La Mã để họ bỏ trốn và trở về nhà mà không giao chiến.

Như là kết quả của trận chiến, người La Mã đã buộc phải rút lui về thành trì của họ ở miền Bắc Iberia, mà từ đó người Carthage không thể đánh đuổi họ. Đáng chú ý là những người lính La Mã đã quyết định bầu ra một viên chỉ huy mới, khi cả hai vị tướng đã tử trận.
Vào năm 210 TCN, Scipio Africanus đã lên đường đến Iberia theo mệnh lệnh của Viện nguyên lão và cũng để trả thù cho người cha và chú của ông.

Trong một cuộc tấn công tuyệt vời, Scipio đã thành công trong việc đánh chiếm trung tâm quyền lực của người Carthage ở Iberia, Cartagena, vào năm 209 TCN. Trong trận Baecula (208 TCN), ông đánh bại Hasdrubal, nhưng đã không thể ngăn cản ông ta tiếp tục hành quân đến Ý để củng cố quân đội của người anh trai Hannibal.

Trong trận Ilipa sau đó (206 TCN), Scipio đã đánh bại một liên quân dưới sự chỉ huy của Mago Barca, Hasdrubal Gisgo và Masinissa, do đó đặt dấu chấm hết cho sự cai trị của người Carthage ở Iberia.

Cuộc bành trướng của người Carthage lên tới đỉnh điểm khi mà thành phố Hy Lạp lớn nhất tại Ý, Tarentum, chuyển phe vào năm 212 trước Công nguyên. Trận Tarentum (212 TCN) là một cuộc đảo chính được lên kế hoạch cẩn thận bởi Hannibal và các thành viên của phe dân chủ trong thành phố. Đã có hai cuộc tấn công riêng biệt thành công vào các cánh cổng của thành phố. Điều này cho phép quân đội Carthage, vốn đã tiếp cận mà không bị phát hiện dưới bức bình phong là một cướp bóc của các kỵ binh Numidia, tiến vào thành phố nhờ sự bất ngờ và chiếm lấy toàn thành phố, trừ thành trì nơi người La Mã và phe thân La Mã trong thành phố có thể tập hợp lại. Người Carthage đã không thành công trong việc chiếm lấy thành trì này nhưng sau đó họ xây dựng các công sự vây quanh thành trì này của đối phương và điều này cho phép thành phố vẫn còn nằm dưới sự kiểm soát của người Carthage. Tuy nhiên, bến cảng đã bị phong tỏa và những con tàu chiến phải vận chuyển bằng đường bộ để có thể đưa ra biển hạ thủy.

Trận Capua (212 TN) là một sự bế tắc, vì không bên nào có thể đánh bại đối phương. Người La Mã đã quyết định rút quân và từ bỏ cuộc vây hãm Capua. Kết quả là, kỵ binh Capua đã được tăng cường bằng một nửa lực lượng kỵ binh Numidia có sẵn, gồm 2.000 người.

Trong trận Beneventum (212 TCN), Hanno Già một lần nữa bị đánh bại, lần này dưới tay của Quintus Fulvius Flaccus, và mất luôn trại của mình vào tay đối phương. Trận đánh tiếp theo là trận Silarus, cũng diễn ra trong cùng năm, tại đó người La Mã dưới quyền Marcus Centenius đã bị phục kích và tiêu diệt toàn bộ, trừ 1000 trong số 16.000 binh lính của họ. Ngoài ra, vào năm 212 trước Công nguyên, Trận Herdonia cũng đem đến kết quả là một thất bại cho người La Mã, chỉ có 2.000 người La Mã trong một đạo quân khoảng 18.000 còn sống sót sau một cuộc tấn công trực tiếp bởi đạo quân áp đảo về số lượng của Hannibal, kết hợp với một cuộc mai phục cắt đứt đường rút lui của quân La Mã.

Giai đoạn này của cuộc chiến được đánh dấu bằng sự thất thủ của các thành phố lớn và nhỏ dưới tay người La Mã, mặc dù Hannibal vẫn có thể chiếm ưu thế trên chiến trường và giải vây một số cuộc vây hãm. Cuộc vây hãm Syracuse, vốn bắt đầu từ năm 214TCN, được đánh dấu bởi sự sáng tạo của Archimedes trong việc phát minh ra các cỗ máy chiến tranh đã khiến cho những người La Mã không thể giành được bất kỳ thành công nào với những phương pháp truyền thống của chiến tranh bao vây. Một quân đội Carthage gồm 20.000 người được phái đến để giải vây cho thành phố, nhưng nó lại bị thiệt hại nặng nề vì bệnh dịch hơn so với những người La Mã và do đó đã buộc phải rút lui về lại Agrigentum. Sự thất thủ của Syracuse cuối cùng đã đến, người La Mã chiếm được thành phố với giúp của phe ủng hộ La Mã người Syracuse và dẫn đến cái chết của Archimedes.

Trong trận Capua (211 TCN), Hannibal một lần nữa cố gắng để giải vây cho bến cảng chính của mình như là trong năm trước, bằng cách nhử những người La Mã vào một trận quyết chiến. Ông đã không thành công, và cũng không thể để phá vỡ cuộc vây hãm bằng cách tấn công công sự của những người La Mã đang bao vây thành. Vì vậy, ông đã thử sử dụng một chiến thuật nhằm dàn dựng một cuộc hành quân hướng về Roma, hy vọng bằng cách này buộc quân địch phải từ bỏ cuộc vây hãm và vội vàng quay về bảo vệ thành phố quê hương của họ. Tuy nhiên, chỉ một phần của lực lượng vây hãm trở về Roma, và phần còn lại vẫn tiếp tục cuộc vây hãm, Capua thất thủ ngay sau đó. Gần Roma, ông đã tham gia vào một trận quyết chiến khác.

Trận Herdonia (210 TCN) là một trận chiến phá vây cho một thành phố đồng minh khác đang bị người La Mã vây hãm. Hannibal đã bất thình lình tấn công quan trấn thủ Gnaeus Fulvius Centumalus vốn đang bao vây Herdonia và tiêu diệt quân đội của ông ta trong trận chiến với 13.000 người La Mã chết trong tổng số quân gần 20.000 người. Sự đào ngũ của Salapia ở Apulia trong năm 210 TCN là do sự phản bội người dân ở đây, họ đã tàn sát đội quân đồn trú người Numidia và đứng về phía những người La Mã.

Vào năm 210TCN, trận Numistro giữa Marcellus và Hannibal đã bất phân thắng bại, nhưng người La Mã vẫn theo sát ông cho tới tận trận Canusium bất phân thắng bại vào năm 209 TCN. Trong khi đó, trận chiến này cho phép một đội quân La Mã dưới quyền Fabius tới gần thành Tarentum và chiếm được nó nhờ sự phản bội trong trận Tarentum (209 TCN). 
Trận Grumentum giữa Gaius Claudius Nero và Hannibal lại tiếp tục một trận chiến không phân thắng bại trong năm 207 TCN. Sau khi kết thúc trận đánh, Nero đã có thể để đánh lừa Hannibal tin rằng toàn bộ quân đội La Mã vẫn còn ở trong trại. Trong khi đó, Nero hành quân với một quân đoàn được tuyển chọn về phía bắc và củng cố với những người La Mã ở có và giành chiến thắng trong trận Metaurus, giết chết Hasdrubal và đánh đuổi những người sống sót trong quân đội của ông ta chạy tan tác. Đạo quân Carthage dưới quyền Hasdrubal đã rời Iberia một năm trước, sau thất bại tại trận Baecula và nó đã được tăng cường bởi lính đánh thuê người Gaul và Liguria cùng các đồng minh. Điều đáng chú ý là họ đã đi con đường tương tự như Hannibal đi 10 năm trước đây, nhưng họ chỉ phải chịu thương vong ít hơn, do hỗ trợ tốt hơn bởi lính đánh thuê từ các bộ lạc miền núi.

Năm 211 TCN, Roma chống lại mối đe dọa từ Macedonia cùng với một liên minh Hy Lạp của người Aetolia, Elis, Sparta, Messenia và Attalos I của Pergamon, cũng như hai vị vua chư hầu người Ilyria của La Mã, Pleuratus và Scerdilaidas.


Tại trận Ilipa, một số lượng lớn lính đánh thuê Celtiberia đã được người Carthage tuyển mộ để đối đầu với liên quân của người La Mã và người Iberia. Scipio Africanus đã sử dụng một mưu mẹo thông minh trong trận này. Mỗi ngày trong nhiều ngày, ông sắp xếp quân đội của mình cho trận đánh với những người La Mã đóng ở trung tâm của hàng ngũ và người Iberia ở hai bên cánh. Nhưng khi đối phương nghênh chiến, ông cuối cùng sẽ từ chối giao chiến. Nhờ mưu kế này, ông đã khiến cho hai viên tướng người Carthage là Mago và Hasdrubal Gisco tin rằng họ có thể mong đợi những người La Mã giữ khu trung tâm của hàng ngũ. Vào ngày xảy ra trận chiến, quân La Mã được triển khai từ sáng sớm và người La Mã lại đứng ở hai bên cánh của hàng quân. Trong lúc vội vã để đáp trả, người Carthage đặt lực lượng tốt nhất của họ ở trung tâm như thường lệ, nhưng lại không phát hiện việc bố trí bất thường của người La Mã. Vì vậy, lính đánh thuê Carthage yếu kém hơn ở hai bên cánh đã bị đánh tan tác bởi những người La Mã. Người Celtiberia đào ngũ khỏi doanh trại Carthage ngay đêm hôm đó. Thất bại thê thảm đã đánh dấu chấm hết cho của sự hiện diện Carthage ở Iberia. Tiếp theo, người La Mã chiếm đóng Gades trong năm 206 TCN sau khi thành phố nổi dậy chống lại sự cai trị của Carthage. Các tù trưởng bộ lạc Indibilis và Mandonius (của người Ausetani) nghĩ rằng, sau khi trục xuất người Carthage, người La Mã sẽ rút đi và họ sẽ có thể giành được quyền kiểm soát Tây Ban Nha một lần nữa. Tuy nhiên, điều này đã không xảy ra, vì vậy họ đã đứng về phía quân phiến loạn tại trại Sucro chống lại người La Mã. Cuộc nổi loạn này cuối cùng đã bị Scipio Africanus dập tắt..

Trong năm 205 TCN, lợi dụng lúc người La Mã đang bị bối rối bởi một cuộc binh biến và kéo theo đó là một khởi nghĩa của người Iberia chống lại những vị chúa tể mới của họ, Mago đã tiến hành một nỗ lực cuối cùng để chiếm lại Tân Carthage nhưng cuộc tấn công đã bị đẩy lui. Vì vậy, trong cùng năm đó, ông ta rời Iberia, khởi hành từ quẩn đảo Balearic tới Ý cùng với lực lượng còn lại của mình.

Vào năm 206 trước Công nguyên, đã có một chiến tranh giành ngai vàng ngắn ngủi nổ ra ở Đông Numidia và tạm thời kết thúc với việc phân chia vùng đất này giữa Carthage và vị vua Numidia phía Tây, Syphax, một đồng minh cũ của Roma. Nhờ thỏa thuận này, Syphax đã kết hôn với Sophonisba, con gái của Hasdrubal Gisco. Còn Massinissa, sau khi để mất vị hôn thê của mình, đã đứng về phía những người La Mã.

Năm 205 TCN, Mago đặt chân lên đất Ý. Ông ta đến nơi vào thời điểm vừa diễn ra trận Crotona (ngày nay là Crotone) và tới năm sau, ông ta đã bị đánh bại trong cuộc đột kích thung lũng Po năm 203TCN.

Đồng thời, Scipio Africanus Major đã được giao quyền chỉ huy của các quân đoàn ở Sicily và được phép tuyển mộ những người tình nguyện cho kế hoạch kết thúc chiến tranh của ông bằng một cuộc xâm lược vào châu Phi. Các quân đoàn ở Sicily chủ yếu là những người sống sót sau trận Cannae, nhưng họ không được cho phép về nhà cho đến khi chiến tranh đã kết thúc. Scipio cũng một trong những người sống sót và đã từng cùng chiến đấu với họ trong suốt cuộc vây hãm Syracuse, nhưng không giống như những người lính bình thường, sau đó ông đã được cho phép về nhà, và tiếp đó ông đã thành công trong việc giành được một chức vụ trong chính quyền và đã được trao quyền chỉ huy quân đội ở Iberia.

Trong vòng một năm kể từ lúc đặt chân lên đất châu Phi, Scipio đã hai lần đánh tan tác những đạo quân chính quy của người Carthage, dưới quyền của Hasdrubal Gisco, và đồng minh Numidia của ông ta. Thế lực bản địa quan trọng ủng hộ người Carthage, vua Syphax của người Massaesylia (Người Numidia phía Tây), đã bị đánh bại và bị bắt làm tù binh. Masinissa, đối thủ người Numidia của Syphax tại thời điểm đó và cũng là một đồng minh của người La Mã, đã chiếm giữ một phần lớn vương quốc của ông ta với sự giúp đỡ từ người La Mã. Chính những bối cảnh này đã khiến cho một số người Carthage tin rằng đó là thời điểm để cầu hòa. Những người khác lại yêu cầu triệu hồi những người con trai của Hamilcar Barca, Hannibal và Mago, vốn vẫn còn đang chiến đấu với người La Mã ở Bruttium và Cisalpine Gaul.

Vào năm 203 TCN, trong khi Scipio đang liên tiếp giành chiến thắng ở châu Phi và phe chủ hòa của Carthage đang dàn xếp một hiệp ước đình chiến, Hannibal đã được phe chủ chiến tại Carthage triệu hồi. Sau khi để lại một ghi chép chuyến viễn chinh của mình khắc bằng tiếng Punic và Hy Lạp trên những tấm bảng đồng trong đền thờ của thần Juno tại Crotone, ông đã khởi hành trở về châu Phi. Những ghi chép này sau đó đã được Polybius trích dẫn. Sự trở về của Hannibal ngay lập tức giúp cho phe chủ chiến khôi phục lại ưu thế, và họ giao cho ông chỉ huy một đạo quân kết hợp từ quân đội được chiêu mộ ở châu Phi và lính đánh thuê của ông từ Ý. Nhưng Hannibal đã phản đối chính sách này và cố gắng để thuyết phục họ không đưa số quân châu Phi mới tuyển mộ và chưa qua huấn luyện tham chiến. Năm 202 trước Công nguyên, Hannibal đã gặp Scipio trong một hội nghị hòa bình.Bất chấp sự ngưỡng mộ lẫn nhau của hai vị tướng, các cuộc đàm phán đã rơi vào sự bế tắc, theo những người La Mã là do "lòng trung thực của người Punic", có nghĩa là sự lừa lọc.

Trận đánh quyết định sẽ sớm đến ngay sau đó. Không giống như hầu hết các trận đánh trong chiến tranh Punic lần thứ hai, lần này người La Mã đã có ưu thế về kỵ binh và Carthage lại có ưu thế về bộ binh. Quân đội La Mã nói chung được trang bị tốt hơn người Carthage. Hannibal đã từ chối đưa quân đội của mình tham chiến, bởi vì ông không hy vọng họ có thể để trụ vững. Đã có nhiều tranh luận rất gay gắt giữa ông và nhóm đầu sỏ. Vị tướng đồng cấp với ông, Hasdrubal Gisco, đã bị một đám đông hung bạo người Carthage ép phải tự sát sau khi ông lên tiếng ủng hộ cho quan điểm của Hannibal rằng đội quân như vậy không nên đưa ra chiến trường. Trước trận đánh, Hannibal đã không có bài phát biểu nào trước đội quân mới của mình, mà chỉ dành cho các cựu chiến binh của ông.

Khi trận đánh nổ ra, Scipio đã đánh bại một cuộc tấn công của voi chiến ​​Carthage như ông dự kiến trước đó, và khiến cho một số con voi của Hannibal quay ngược trở lại vào hàng ngũ của ông ta, khiến kỵ binh của Hannibal rơi vào tình trạng lộn xộn. Kỵ binh La Mã đã có thể tận dụng điều này và đánh đuổi kỵ binh Carthage tháo chạy khỏi chiến trường. Tuy nhiên, trận chiến vẫn còn tiếp diễn và tại một thời điểm, có vẻ như Hannibal đã gần kề với chiến thắng. Tuy nhiên, Scipio đã có thể tập hợp lại những người của mình, và kỵ binh của ông đã trở về sau khi truy kích kỵ binh Carthage và tấn công vào hậu phương của Hannibal. Hai hướng tấn công này khiến cho đội hình của người Carthage tan rã và sụp đổ. Sau thất bại của họ, Hannibal thuyết phục người Carthage chấp nhận hòa bình. Đáng chú ý, ông đã phá vỡ các luật lệ của hội đồng bằng cách ép buộc đuổi một người diễn thuyết mà ủng hộ việc tiệp tục kháng cự. Sau đó, ông đã buộc phải xin lỗi cho hành vi của mình.

Carthage bị mất Hispania mãi mãi, và quyền lực của người La Mã đã được thiết lập vững chắc trên diện rộng. Một khoản bồi thường chiến phí lên đến 10.000 talent đã được áp đặt, lực lượng hải quân nó bị giới hạn còn 10 tàu để tránh khỏi cướp biển, và Carthage đã bị cấm xây dựng một đội quân mà không có sự cho phép của Roma. Người Numidia đã nắm lấy cơ hội này để xâm chiếm và cướp bóc lãnh thổ của Carthage. Nửa thế kỷ sau, khi Carthage xây dựng một đội quân để bảo vệ chính mình khỏi những cuộc tấn công, nó đã bị phá hủy hoàn toàn bởi người La Mã trong Chiến tranh Punic lần thứ ba. Mặt khác, Roma,với chiến thắng của mình, đã tiến một bước quan trọng trên con đường hướng tới sự thống trị toàn bộ thế giới Địa Trung Hải.

Sự kết thúc của cuộc chiến tranh không được chào đón một cách phổ biến tại Roma, vì lý do cả về mặt chính trị và tinh thần. Khi Viện nguyên lão ra sắc lệnh về một hiệp ước hòa bình với Carthage, Quintus Caecilius Metellus, một cựu chấp chính quan, nói rằng ông không nhìn nhận việc chấm dứt cuộc chiến tranh như là một phước lành cho Roma, vì ông sợ rằng những người La Mã sẽ chìm đắm vào giấc ngủ của họ trước đây, mà vốn chỉ có thể bị đánh thức bởi sự hiện diện của Hannibal.. Những người khác, đáng chú ý nhất là Cato Già, sợ rằng nếu Carthage không hoàn toàn bị phá hủy nó sẽ sớm lấy lại sức mạnh của mình và trở thành mối đe dọa mới đến Roma, và thúc ép phải có những điều kiện hòa bình khắc nghiệt hơn. Ngay cả sau khi hòa bình, Cato lại càng nhấn mạnh hơn về sự phá hủy Carthage, và ông ta kết thúc toàn bộ bài diễn thuyết của mình với câu "Carthage phải bị tiêu diệt", ngay cả khi họ không có gì để làm với Carthage .

Những khám phá khảo cổ học đã phát hiện ra rằng bến cảng quân sự hình tròn nổi tiếng tại Carthage, Cothon, đã nhận được một sự xây dựng đáng kể sau khi kết thúc cuộc chiến tranh này. Nó có thể chứa và nhanh chóng triển khai khoảng 200 tàu trireme. Đây là một phát triển đáng ngạc nhiên bởi vì, sau chiến tranh, hạm đội Carthage đã bị giới hạn chỉ có mười trireme và là một trong những điều khoản đầu hàng. Một lời giải thích khác như sau: như các thành phố khác của người Phoenicia, hải tặc với tàu chiến đóng vai trò quan trọng bên cạnh thương mại, ngay cả khi đế chế La Mã đã hoàn toàn được thiết lập và chính thức kiểm soát tất cả các bờ biển. Trong trường hợp này, nó không phải rõ ràng rằng hiệp ước này có bao gồm các tàu chiến hải tặc. Một sự nhắc đến duy nhất về hải tặc Punic đó là từ cuộc chiến tranh Punic lần thứ nhất: một trong số họ, Hanno người Rhodia, sở hữu một tàu quinquereme (nhanh hơn so với các mô hình được đóng hàng loạt mà những người La Mã đã sao chép), có thủy thủ đoàn khoảng 500 người và là một trong những tàu chiến to nhất được sử dụng. Những hải tặc sau này ở các vùng biển của La Mã được ghi nhận là đã sử dụng các tàu nhỏ hơn nhiều, có thể chạy nhanh hơn các tàu hải quân, nhưng lại có thủy thủ đoàn ít hơn. Như vậy, nghề cướp biển có thể được phát triển mạnh ở Carthage và nhà nước đã không có một lực lượng quân sự riêng biệt. Cướp biển có thể đóng một vai trò quan trọng trong việc bắt nô lệ, một trong những hàng hoá thương mại có lợi nhuận cao nhất, nhưng các tàu buôn với hàng hóa giá trị và thủy thủ đoàn cũng là mục tiêu của họ. Không có nguồn nào còn sót lại mà ghi chép về số phận của hải tặc Punic trong khoảng thời gian giữa các cuộc chiến tranh Punic.

Hannibal đã trở thành một thương nhân trong nhiều năm và sau đó đã có được một vai trò lãnh đạo ở Carthage. Tuy nhiên, giới quý tộc Carthage đã cảm thấy khó chịu bởi chính sách của ông về dân chủ và cuộc đấu tranh chống tham nhũng. Họ đã thuyết phục những người La Mã để ép buộc ông phải sống lưu vong ở Tiểu Á, tại nơi đây ông một lần nữa lãnh đạo quân đội chống lại người La Mã và các đồng minh của họ trên chiến trường. Cuối cùng ông đã tự sát để tránh bị bắt.

Đã có chiến tranh liên tục ở mức độ thấp giữa người Carthage và Numidia, nhưng vào thời điểm của cuộc Chiến tranh Punic lần thứ ba, hầu hết các vùng lãnh thổ châu Phi của Carthage đã bị mất và người Numidia đã buôn bán độc lập với những người Hy Lạp.
Trong cuộc xung đột này, việc thu thập tin tức đóng một vai trò quan trọng đối với cả hai bên. Hannibal đã làm chủ được một hệ thống thu thập tin tức cho phép ông giành được nhiều chiến thắng xuất sắc. Tương tự như vậy, những chiến thắng của Scipio Africanus cũng phụ thuộc vào thông tin. Năm 217 trước Công nguyên, một gián điệp của Carthage cư trú ở Roma, có thể là một công dân La Mã, đã bị bắt và đã bị chặt tay như là một hình phạt.
Theo Livius, nó là "cuộc chiến tranh đáng nhớ nhất trong tất cả các cuộc chiến tranh mà đã từng tiến hành:đây là cuộc chiến tranh mà người Carthage, dưới sự lãnh đạo của Hannibal, đã giữ chân được những người La Mã. Chưa bao giờ có bất cứ quốc gia và dân tộc nào tập hợp các nguồn lực tham gia vào các trận chiến hiệu quả hơn họ, ngay cả chính bản thân họ vào bất kỳ thời kì nào khác mà lại quá tuyệt vời ở một mức độ về sức mạnh và sự tích cực đến như vậy".

