Po rozbiciu przez Hannibala wojsk rzymskich w bitwie nad Jeziorem Trazymeńskim w 217 roku p.n.e. Fabiuszowi Maksimusowi Cunctatorowi („Zwlekający”) powierzono godność dyktatora, aby w sytuacji kryzysowej ratował niepodległość Republiki. Fabiusz postanowił unikać otwartego starcia z armią Hannibala, prowadząc z Kartagińczykami wojnę na wyczerpanie. Jego plan polegał na podążaniu legionów za armią Hannibala w takiej odległości, aby nie doszło do zwarcia, a zarazem nie stracić rywala z oczu.
Ponadto Fabiusz Maksimus chciał w ten sposób odstraszać sojuszników Rzymian od przyłączania się do Hannibala. Dzięki tej strategii udało się Fabiuszowi zapobiec obleganiu któregokolwiek z miast, notorycznie nękał Hannibala, a następnie zepchnął jego siły w górzyste regiony Półwyspu Apenińskiego, gdzie Kartagińczycy nie mogli rozwinąć swojej jazdy. Udało mu się też przerwać kartagińskie linie zaopatrzenia.
Tak zwana „taktyka fabiańska” była bardzo skuteczna, ale zarazem frustrująca dla rzymskich nobilów, uważających unikanie bitwy za niehonorowe. W senacie przyjęło się nazywanie Fabiusza „pedagogiem Hannibala”, mając na myśli niewolnika niosącego za chłopcem książki do szkoły. Ponadto Hannibal jawnie rabował i niszczył mienie rzymskie na prowincji, co było kosztowne dla Rzymu. Po sześciomiesięcznym piastowaniu urzędu Cunctator został pozbawiony władzy, a konsulowie Gajusz Terencjusz Warron i Lucjusz Emiliusz Paullus postanowili wydać walną bitwę Hannibalowi. Miała ona miejsce dnia 2 sierpnia 216 roku p.n.e. pod miastem Kanny.