Book XXII of Livy's great History of Rome covers the Second Punic War in 217 and 216 BC, including the great battles of Transymene and Cannae in Italy, and the course of the war in Spain.
This useful text consists of the Latin text, copious notes to assist the intermediate level student, vocabulary and an introduction. The Introduction provides helpful background, setting the scene with short resumes of Livy's life, Hannibal's career, and the course of the Punic Wars.