Ta sai 221 eKr Kartaago sõjaväe ülemjuhatajaks Hispaanias ja kutsus 219 eKr Hispaanias Rooma liitlaslinna Saguntumi vallutamisega esile Teise Puunia sõja. Ületanud Püreneed ja Alpid, jõudis ta kiiresti Itaaliasse ning nurjas sellega roomlaste plaani paisata oma sõjavägi Aafrikasse. Ta võitis Rooma leegione Ticinuse lahingus, Trebia lahingus (218 eKr, Trasimenuse lahingus (217 eKr) ja Cannae lahingus (216 eKr).