Позже Ганнон вновь появляется в Сицилии. В греческой части острова положение снова осложнилось. Власть Дионисия-младшего оказалась непрочной. Тирана сверг его родственник Дион, который, в свою очередь, пал жертвой заговора. Наступила полоса постоянных смут и смены тиранов. Одним из претендентов на пост правителя снова выступил Дионисий. Его соперник Гикет пошел на союз с карфагенянами (Diod. XVI, 67, 1; Plut. Tim. 7), которые отправили на помощь ему армию во главе с Ганноном. Ганнон захватил Энтеллу, населенную кампанскими наемниками Дионисия-старшего, и двинулся на Сиракузы. Город был охвачен гражданской войной: одна часть его оказалась под властью Гикета, другая — под властью Дионисия. Карфагеняне вмешались в эту войну на стороне первого и захватили порт. Казалось, еще немного, и власть в Сиракузах полностью окажется в руках Гикета и стоящих за ним карфагенян. Однако на помощь сиракузянам из их метрополии Коринфа было отправлено войско во главе с Тимолеонтом. Ганнон, вероятно, не смог помешать высадке Тимолеонта, поэтому был отозван в Африку. Его преемник Магон вступил в войну с Тимолеонтом, но потерпел поражение и очистил сиракузскую гавань (Diod. XVI, 67–69; 73; Plut. Tim. 9-13; 16–21).
Такой оборот дел в Сицилии вызвал, очевидно, напряжение в Карфагене. Этим решил воспользоваться Ганнон и, отомстив тем, кто его отстранил, попытаться снова захватить власть. Под предлогом свадьбы дочери он задумал собрать в своем доме всех сенаторов и уничтожить их. Под этим же предлогом он решил устроить пир для всего народа и, видимо, затем сообщить о совершившемся перевороте и получить поддержку. Однако карфагенские правители разгадали хитрость. Увидев крушение своих замыслов, Ганнон удалился из города и, вооружив 20 тысяч рабов, захватил какую-то крепость. Едва ли такое большое количество рабов могло быть даже у такого богатого человека как Ганнон (Gsell, 1918, 247, прим. 2), так что можно говорить о мощном восстании рабов, спровоцированном честолюбивым карфагенским аристократом. Мятеж, однако, не удался, Ганнон был схвачен и после жестоких мучений убит почти со всеми родственниками (lust. XXI, 4, 1–8). Только один сын Ганнона, Гисгон, уже известный своими военными талантами, избежал смерти, но был изгнан из Карфагена (Diod. XVI, 81).
Затем новый поворот дел в Сицилии заставил карфагенян обратиться к Гисгону. Магон, командовавший карфагенскими силами, покинул Сиракузы. Вскоре Тимолеонт захватил Энтеллу и подошел к Лилибею. Карфагенское правительство послало в Сицилию новую армию во главе с Гасдрубалом и Гамилькаром, но эта армия потерпела сокрушительное поражение на реке Кримиссе, причем в сражении пали семь тысяч наемников и три тысячи карфагенских граждан. И карфагенскому правительству пришлось обратиться к сыну Ганнона, который был не только возвращен из изгнания, но и назначен командующим с неограниченными полномочиями. Гисгон вступил в союз с Гикетом и тираном Катаны Мамерком, и союзники разбили отдельные отряды армии Тимолеонта, что позволило карфагенянам вступить в переговоры с греками и добиться сравнительно выгодных условий мира. В 339 г. до н. э. был заключен мир с Тимолеонгом, по которому Карфаген отказывался от союза с сицилийскими тиранами, но зато сохранил свои старые владения к западу от реки Галик (Diod. XVI, 73; 78–82; Plut. Tim. 25–30; Polyaen. V, 11).
После всех этих событий, вероятно, семья Ганнонидов надолго остается одной из самых ведущих в Карфагене (Sznycer, 1978, 552). Так, сын Гисгона Гамилькар в конце IV в. до н. э. командует войсками в Сицилии (Diod. XIX, 106, 2; XX, 15–16; 29–30; lust. XXII, 3, 6), причем Диодор (XX, 33, 2) называет его «царем»; следовательно, он занимал высшую государственную должность. Это не означает, что Ганнониды обладали неограниченной властью, как это было с Магонидами во время их первого возвышения. Судя по всему, власть прочно удерживала правящая олигархия, среди которой виднейшую роль играли Ганнониды (Gsell, 1918, 249).
Новые испытания для Карфагенской республики наступили в конце IV в. до н. а, когда власть в Сиракузах захватил Агафокл. Еще до этого в Сицилии вспыхивали схватки между карфагенянами и греками. Когда же Агафокл стал сиракузским тираном (позже он провозгласил себя царем), началась большая война. Командующий карфагенскими силами Гамилькар (не сын Гисгона) вступил в переговоры с Агафоклом и заключил с ним мир, сочтенный карфагенским правительством невыгодным. Распространились слухи, что Гамилькар вступил в тайное соглашение с сиракузским тираном, чтобы по его примеру и, может быть, с его помощью также стать тираном. За это он был отозван в Африку и тайно осужден (Diod. XIX, 4–5; 71–72; lust. XXII, 2, 6–9; 3, 2–7). В Сицилию была послана новая армия под командованием Гамилькара, сына Гисгона. Гамилькар наголову разгромил войска Агафокла и двинулся на Сиракузы. Ему удалось заключить союз с некоторыми греческими городами, выступавшими против Агафокла. Под стенами Сиракуз в 309 г. до н. э. произошла битва, в которой карфагеняне потерпели поражение, а сам командующий попал в плен и погиб. Но еще до этого Агафокл решился на смелый шаг: потерпев поражение в Сицилии, он задумал перенести войну в Африку.
В 310 г. до н. э. греческая армия впервые переправилась на африканскую территорию. Сиракузяне захватили Тунет. Карфагенской правительство набрало новую армию и, боясь повторения предыдущих событий и попыток командующих захватить власть (тем более что войска располагались непосредственно вблизи самого города), поставило во главе армии двух командующих, враждебных друг другу, — Бомилькара и Ганнона. Однако эта армия тоже потерпела поражение, и Ганнон был убит. При известии об этой катастрофе восстали нумидийцы, и Агафокл задумал соединиться с ними. Но карфагеняне сумели привлечь на свою сторону одно из нумидийских племен, а восстание остальных подавить прежде, чем греки этим воспользовались. Тогда Агафокл обратился за помощью к Офеллу, в то время правившему Киреной, армия которого с трудом пересекла пустыню и соединилась с войсками Агафокла. Сиракузский тиран, боясь конкурента, убил Орфелла, а его воинов переманил к себе. В Карфагене сложилось очень напряженное положение. Этим решил воспользоваться Бомилькар, который в 308 г. до н. э. попытался совершить государственный переворот. В самом Карфагене развернулись уличные бои, и сначала карфагеняне решили, что в город ворвались греки. Но когда выяснилось, что происходит в действительности, карфагенская молодежь решительно выступила против мятежника. Положение, однако, было столь сложным, что правительство пообещало амнистию участникам мятежа и только так сумело его подавить. Сам же Бомилькар был предан жестокой казни.
Агафокл не сумел воспользоваться благоприятными обстоятельствами. Он, правда, подчинил себе значительную часть городов Карфагенской державы, взял Утику, но овладеть самим Карфагеном не смог. В 307 г. до н. э. он вернулся в Сиракузы, оставив во главе войск в Африке своего сына Архагата. Тот, стремясь захватить как можно больше карфагенских земель, разделил армию на три части. То же самое сделали карфагеняне. Полководцы Архагата потерпели поражение, и карфагеняне перешли в наступление. Греки собрались в Тунете, который был осажден карфагенянами. Агафокл вернулся в Африку, но сделать уже ничего не мог, кроме как отправить своих воинов обратно в Сицилию. Архагат пытался воспрепятствовать этому решению, это вызвало беспорядки в греческом лагере, что окончательно решило исход дела. Был заключен мир, по которому карфагеняне сохраняли свои владения в Сицилии, а Агафокл должен был заплатить довольно значительную контрибуцию (Diod. XIX, 102–104; 106–110; XX, 4–20; 29–34; 38–44; 54–55; 57–69; 79; lust. XXII, 7, 1–11; 8, 1–15).
Под конец жизни Агафокл попытался повторить свое африканское предприятие, но неудачно (Diod. XXI, 18). И после его смерти в Сицилии с переменным успехом шли военные действия, а вскоре здесь появился эпирский царь Пирр. В это время он вел войну с Римом, одержав две впечатляющие победы, но не добившись решающего успеха. Сицилийские греки призвали его на помощь против карфагенян. Пирр, которому уже надоело бесплодно воевать в Италии, откликнулся на этот призыв. Наличие общего врага заставило карфагенян и римлян вступить в союз, заключив новый, уже четвертый, договор (Polyb. III, 25, 1–5). О первых двух уже говорилось. Третий был заключен в 306 г. до н. э. ц устанавливал неприкосновенность для обеих сторон соответствующих сфер влияния — Сардинии и Италии (Liv. IX, 43, 26; Serv. Ad Aen. IV, 628). Теперь был заключен договор о военном союзе. Реальных плодов он, кажется, не дал, ибо обе стороны не доверяли друг Другу. Появление в Сицилии Пирра, известного в то время полководца, с новым войском изменило положение в пользу греков. Карфагеняне потеряли почти весь остров и с трудом удерживали Лилибей. Они уже готовы были заключить с Пирром мир, и лишь чрезмерная гордыня эпирского царя помешала этому. Однако, почувствовав себя уже господином Сицилии, Пирр стал обращаться с греками как со своими подданными, преследуя реальных и мнимых противников, не скрывая намерений стать владыкой острова. Это восстановило против него сицилийских греков и лишило их поддержки, без которой добиться своих целей Пирр не мог. Поэтому в результате он был вынужден вернуться в Италию (Diod. XXII, 10, 13; lust. XXIII, 3, 1–10; Plut. Pyrr. 22–24; Арр. Samn. 12).