Hannibal seized Cannae, an important corn depot, in the spring. The Roman consuls followed after him, with eight legions and a large contingent of allied auxiliaries, in all about eighty thousand infantry and 7200 cavalry, against Hannibal’s forty thousand infantry and ten thousand cavalry. The Romans sited their main camp south of the river Aufidus, with a smaller camp on the other side. Hannibal offered battle, which Aemilius declined. The consuls took command on alternate days, and the next day, when it was the turn of Varro, Hannibal induced him to move. Varro crossed the river with his left flank leading. Hannibal forded the Aufidus, and drew up his forces with their backs to the river. Varro wheeled his line to face them, with his Roman cavalry on his right flank, the allied cavalry on the left, and the infantry massed in between. Opposite the Roman cavalry Hannibal placed his Gallic and Spanish heavy cavalry under Hasdrubal (no relation to Hannibal), with the Numidian cavalry on his right wing. Between them he lined up his Spanish and Gallic infantry in a convex crescent, flanked on each side by his African foot equipped with captured Roman weapons.
Hasdrubal’s horse charged at, and through, the Roman cavalry and infantry opposite them, wheeled round behind the Roman line, and took the allied cavalry, already engaged with the Numidians, in the rear. He then turned back to attack the Roman infantry in the rear and flanks. Hannibal allowed the Roman infantry to press against his foot until his line had assumed a concave shape and the Romans were too closely packed together to fight effectively. Then he pounced. His Africans took the Romans in the flanks, and Hasdrubal redoubled his assault from the rear.
(See plan after T. A. Dodge, Hannibal 1891)
We suggest you print out this description of the battle and read it against the plan.