Podstawowym jednak celem było wsparcie miast sycylijskich niechętnych Gelonowi, by zapobiec jego ekspansji na zachód.
Hamilkar wylądował bez przeszkód w Panormos i pomaszerował ku Himerze, na zachód od której rozbił obóz. Flota syrakuzańska nie próbowała przeciwdziałania, aczkolwiek jej zadanie było utrudnione przez brak bazy na zachodzie wyspy (Selinunt był sojusznikiem Fenicjan). Kartagińczycy rozpoczęli oblężenie, ale obrońcy miasta bronili się zawzięcie, wspierani przez sojuszników z Agrigentum. Z pomocą obleganemu miastu przybył Gelon z Syrakuz na czele 24 000 piechoty i 2000 kawalerzystów (według autorów greckich: 50 tys. piechoty i 5000 jeźdźców); swój obóz założył on na południe od Himery.
Szczegóły bitwy nie są jasne. Przybycie sił Gelona miało dodać ducha obrońcom i atakujący Grecy mieli odnieść pewne sukcesy na początku. Niemniej bitwa była długa, całodzienna i zażarta. Sukces zapewniło Syrakuzańczykom przechwycenie listu od Hamilkara do Selinuntu, w którym przypominał o konieczności przysłania posiłków w postaci jazdy. Gelon w miejsce kartagińskich sprzymierzeńców wysłał własną kawalerię, której udało się zmylić przeciwnika i uderzyć na wyciągnięte na plażę w pobliżu ujścia rzeki okręty. Syrakuzańscy jeźdźcy podpalili fenicką flotę i uderzyli na obóz punicki.