Отцом Агафокла Диодор Сицилийский называет Каркина Регнянина, который, будучи изгнан из своего родного города, переселился в сицилийские Фермы, принадлежавшие тогда Карфагену. Здесь и появился на свет Агафокл. Пишут, что отец отрёкся от него сразу после рождения, напуганный будто бы страшными предсказаниями. До семи лет мальчик воспитывался в семье своего дяди. Потом отец признал его и взял обратно в свой дом. В это время он уже переселился из Ферм в Сиракузы, где получил гражданство. Жили родители Агафокла очень бедно. Сына они с малых лет обучали гончарному ремеслу.
Вскоре после окончательного падения тирании Дионисия Младшего (344 до Р.Х.) Каркин умер. Однако положение его сына после этого не только не ухудшилось, но напротив стало улучшаться с каждым днём. Один знатный сиракузянин по имени Дамас влюбился в Агафокла и стал дарить ему дорогие подарки. Вскоре юноша уже имел некоторый достаток. Хотя позорное начало его карьеры, казалось, обрекало его на развратную жизнь, он, в силу врождённой доблести, нашёл для этих денег совсем другое применение. Агафокл приобрёл дорогое оружие и себя посвятил воинским упражнениям. Некоторое время спустя его избрали стратегом в Акрагант, где он быстро приобрёл популярность благодаря дерзкой отваге в сражениях и смелым речам в собрании. После смерти Дамаса Агафокл женился на его жене и унаследовал всё огромное состояние своего любовника.
В 325 году до Р.Х. в числе других стратегов Агафокл был направлен в Италию на помощь Кротону, осаждённому бруттиями. Вскоре он поссорился с верховным стратегом Сосистратом и с отрядом наёмников перешёл сначала на службу к тарентийцам, а потом к регийцам. Когда в Сиракузах возобновилась распря между народом и олигархами (во главе последних встал старый враг Агафокла Сосистрат), Агафокл вернулся в Сицилию и вступил в войско демократов. Во многих сражениях он проявлял отвагу, дерзость и полководческое искусство. Его популярность росла с каждым днём, и вожди демократической партии не без основания стали подозревать Агафокла в тиранических намерениях. Враги хотели убить его, но Агафокл ловко избёг смерти и с отрядом наёмников покинул Сиракузы. Вскоре враждующие партии примирились, была объявлена амнистия, и он смог вернуться в родной город. А поскольку Агафокл не принадлежал теперь явно ни к одной из партий, граждане избрали его в 319 году до Р.Х. «стратегом и защитником мира». Эта должность давала прекрасную возможность для установления тирании. Однако Агафокл не спешил и прежде всего постарался пополнить войско теми наёмниками, которые раньше служили под его командованием и на верность которых он мог всецело рассчитывать. Только в 317 году до Р.Х., когда всё было готово для совершения государственного переворота, Агафокл приступил к осуществлению своего замысла. Он приказал народу прийти на собрание в театр, якобы для того, чтобы обсудить новое государственное устройство. Совету он велел сойтись в гимнасии для предварительного обсуждения вопроса. Вслед за тем он вызвал солдат, приказал им окружить народное собрание, а советников перебить. К смерти были приговорены также многие вожди демократической партии. Сиракузяне оказались совершенно не готовы к такому обороту событий и потому были застигнуты врасплох. Наёмники бросились на безоружных и в короткий срок перебили до 4 тысяч человек. Имущество было разграблено, а их жёны и дочери претерпели всевозможные оскорбления. Однако этим дело не ограничилось. В течение нескольких дней Сиракузы находились во власти разнузданной солдатни и испытали все ужасы, которые обычно выпадают на долю захваченного врагами города. Убийства, насилие и грабежи совершались прямо средь бела дня, и негде было искать защиты от беззакония. Только после того как все политические противники Агафокла были истреблены или бежали, а солдаты насытились бесчинствами, он созвал народное собрание и объявил, что, избавив сиракузян от власти олигархов, передаёт теперь всю полноту власти народу, отказывается от должности стратега и становится частным лицом. Знатные граждане, напуганные разгулом террора, отнеслись к этим словам с недоверием и хранили молчание. А чернь, которая охотно принимала участие в грабежах, напротив, стала бурно выражать своё несогласие и требовать, чтобы за Агафоклом не только сохранилась должность стратега, но чтобы в его руки перешло единоличное командование войсками. Так, формально избранный народом, а на самом деле выкрикнутый толпой, Агафокл вновь принял верховную власть (которую он, впрочем, и так не собирался отдавать). Немедленно были проведены законы в интересах неимущих: отмена долгов и наделение землёй безземельных. Агафокл сделался тираном, хотя не принял поначалу ни одного из царских атрибутов. По виду он оставался простым гражданином — бесстрашно выходил к народу без охраны и дозволял к себе свободный доступ.
Овладев Сиракузами, Агафокл стал помышлять о восстановлении в прежних пределах сицилийской державы Дионисия I. В 315 году до Р.Х. он несколько раз безуспешно подступал к Мессене, но не смог её взять, так как там нашло убежище множество сиракузских изгнанников. Немало сиракузян скрывалось также в Акрагенте. Своими речами они возбудили граждан этих городов против Агафокла, после чего Акрагант объединился с Гелой и Мессеной. В 312 году до Р.Х Агафокл возобновил войну с мессенянами. Его солдаты, подступив к городу, захватили много пленных и большую добычу. Горожане по требованию Агафокла изгнали от себя всех сиракузцев и открыли перед ним ворота. Поначалу он повёл себя с побеждёнными ласково, но потом велел схватить и предать казни 600 человек. В том же году полководцы Агафокла Пасифил и Димофил имели под Галарией сражение с сиракузскими изгнанниками и нанесли им поражение. Многие сицилийские города перешли после этого под власть Агафокла. Эти успехи послужили поводом к большой внешней войне.
Карфагеняне уже давно с тревогой наблюдали за ростом могущества Агафокла и оказывали его противникам энергичную поддержку. Но, убедившись, что сицилийцы не в состоянии остановить рост его державы, они сами выступили против Агафокла. В 311 году до Р.Х. карфагенская армия, во главе которой стоял полководец Гамилькар, на 130 кораблях начала переправу в Сицилию. Сильная буря разметала флот. Более 60 боевых кораблей и множество транспортов затонуло. Высадившись в Сицилии, Гамилькар сумел в короткий срок навербовать большое число наёмников и вскоре имел под своим началом 40 тысяч пехоты и 5 тысяч конницы. Готовясь к войне с ним, Агафокл прежде всего постарался укрепить свой тыл. Жители Гелы внушали ему сильные подозрения. Он велел казнить более 4 тысяч горожан, а имущество их забрал себе. После этого он двинулся против карфагенян и встретился с ними под Филаридами. Уверенный в победе, Агафокл атаковал вражеский лагерь и сильно потеснил противника. Гамилькару грозило неминуемое поражение, но тут очень кстати для него из Карфагена прибыло новое войско. Оно с ходу вступило в бой и напало на греков с тыла. В результате армия Агафокла была разбита и бежала с поля боя, потеряв до 7 тысяч человек убитыми. Тиран отступил в Сиракузы, а подвластные ему города — Камарина, Леонтины, Катана, Тавромены и Мессена — немедленно перешли на сторону карфагенян.
Видя, что союзники его покидают, а карфагеняне овладели уже большей частью острова, Агафокл решил перенести войну в Африку. Поскольку в данном случае очень важно было соблюсти тайну, он не стал сообщать народу о своих замыслах, но сказал только, что нашёл путь к победе: пусть граждане наберутся стойкости для перенесения продолжительной осады, а тем, кому настоящее положение не нравится, он предоставляет полную свободу уйти из города. Когда 1600 человек ушло, он снабдил остальных необходимым на время осады количеством хлеба и жалованьем. С собой он взял на текущие нужды только 50 талантов, надеясь добыть остальное не столько у союзников, сколько у неприятеля. Потом он освободил всех рабов, по возрасту пригодных для военной службы, привёл их к присяге и посадил вместе с большей частью своего войска на корабли. Всех остальных он оставил защищать родину.
На седьмой год своего правления (310 до Р.Х.) в сопровождении двух взрослых сыновей, Архагата и Гераклида, Агафокл вышел с флотом в море, причём никто из его солдат не знал, куда их везут. Все думали, что плывут за добычей в Италию или в Сардинию. Агафокл тогда только впервые открыл всем своё намерение, когда войско было высажено на берег Африки. Корабли он велел немедленно сжечь, чтобы все знали: возможность бегства отнята, и им суждено либо победить, либо умереть. После этого греки двинулись на карфагенскую столицу, всё разоряя на своём пути, сжигая усадебные постройки и посёлки. С ходу был взят Танит (Тунис), где захватили огромную добычу. Узнав о высадке Агафокла, карфагеняне пришли в великое смятение. В спешном порядке они снарядили 30-тысячную армию, во главе которой встали Ганнон и Бомилькар. Вскоре произошло сражение, в котором пали 2 тысячи сицилийцев и 3 тысячи карфагенян. Ганнон был убит, а Бомилькар велел своим солдатам отступать. Эта победа воодушевила сицилийцев и сломила дух карфагенян. Не встречая сопротивления, Агафокл взял Адримит, Тапс и расположился лагерем поблизости от Карфагена, так что со стен города можно было видеть, как уничтожается ценнейшее имущество, опустошаются поля и пылают усадьбы. По всей Африке распространился страшный слух о разгроме карфагенского войска и о захвате городов. Все как бы оцепенели от изумления, каким образом могла эта неожиданная война обрушиться на столь великую державу, к тому же со стороны врага, уже побеждённого. Изумление перешло затем мало-помалу в презрение к карфагенянам. Спустя короткое время не только африканцы, но и наиболее знаменитые города, учитывая новое положение дел, перешли на сторону Агафокла, снабдив победителей продовольствием и деньгами.
В довершение этих несчастий, постигших карфагенян, их войско в Сицилии было уничтожено вместе с полководцем Гамилькаром (309 до Р.Х.). Пришла весть, что вскоре после ухода Агафокла из Сицилии, карфагеняне стали менее энергично вести осаду. Затем во время ночного сражения их войско попало в засаду и было почти полностью истреблено Антадром, братом Агафокла. Гамилькар попал в плен и был умерщвлён после долгих мучений. Поэтому, поскольку и на родине, и за её пределами участь карфагенян была одна и та же, от них отложились не только города-данники, но также и союзные цари. Среди них был царь Кирены Офелла. Он договорился через послов с Агафоклом, чтобы после победы над карфагенянами ему досталась власть над Африкой, а Агафоклу — над Сицилией. Вскоре Офелла вместе со своим войском прибыл к Агафоклу. Тот, опутав его ласковыми речами и низкой лестью, очень часто с ним вместе обедал, разрешил ему усыновить своего сына, а затем убил. Наёмники Офеллы, которых Агафокл привлёк щедрыми обещаниями, немедленно перешли на его сторону.
К 307 году до Р.Х. положение воюющих сторон отчасти уравнялось. Агафокл, захватив Гиппон и Утику к западу от Карфагена, занимал со своим войском значительную часть карфагенской территории, а саму столицу заставил страдать от голода. Но штурмовать укрепления Карфагена он даже не пытался. В свою очередь карфагеняне блокировали флотом Сиракузы и сильно затрудняли подвоз к ним продовольствия. На суше они, впрочем, не предпринимали активных действий. Против сиракузян воевали в основном акрагантский полководец Ксенодок и сицилийские изгнанники. Однако Агафокл не был уверен, что в его отсутствие защитники проявят должную твёрдость. Поэтому, поручив африканскую войну сыну Архагату, он погрузил на корабли 2 тысячи солдат и поспешил в Сицилию. Высадившись в Селиунте, он покорил себе этот город, затем выбил вражеский гарнизон из Ферм. Но пока он вёл войну в Сицилии, карфагеняне уничтожили значительную часть сицилийского войска в Африке, а оставшуюся часть загнали в окружение около города Танита. Узнав об этом, Агафокл поручил сицилийское войско Лептину, а сам на 17 кораблях вновь отправился в Африку. Лептин, развивая успех, вошёл в акрагантские пределы и нанёс противнику новое поражение.
Между тем возвратившись в Африку, Агафокл понял, что положение здесь непоправимо. Наёмники-африканцы покинули его, а с оставшимися ему верными солдатами он вскоре потерпел поражение. Глубокой ночью он бежал из лагеря и с незначительным числом спутников уплыл в Сицилию. Когда его солдаты поняли, что их бросили, они умертвили сыновей Агафокла, а затем сдались карфагенянам. Сам Агафокл благополучно добрался до родного берега. Имея большую нужду в деньгах для уплаты жалованья наёмникам, он коварным образом захватил союзную Эгесту. Малоимущих жителей он велел казнить, а богатых подверг различным мучениям, допытываясь от них, где они скрывают свои деньги. Пишут, что горожане подверглись в этот день неисчислимым мучениям. Одних пытали, привязав к спицам колёс, других расстреливали из катапульт, третьих укладывали на большую медную кровать, разводили под ней огонь и сжигали заживо. Женщин подвергали пыткам наравне с их мужьями. Одним огромными щипцами переламывали суставы, другим отрезали груди. Тем, которые были на сносях, накладывали на поясницу кирпичи и таким образом выдавливали плод. Большинство горожан было умерщвлено, а оставшиеся в живых девицы и мальчики проданы в рабство в Италию. Это был не единственный пример лютости тирана. Чтобы отмстить солдатам, погубившим в Африке его сыновей, он велел учинить тщательный розыск в Сиракузах и казнить всех их родственников — братьев, сестёр, отцов, жён и детей. Приказ был исполнен с беспощадной точностью — палачи убивали всех без разбора, не давая пощады даже младенцам в пелёнках. Тела казнённых были брошены без погребения на морском берегу.
Война тем временем продолжалась. В 306 году до Р.Х. полководец Агафокла Пасифил перешёл вместе со всем своим войском на сторону Акраганта. Узнав об этом, Агафокл пришёл в отчаяние и отправил послов к акрагантянам с мирными предложениями. Он обещал оставить Сиракузы, восстановить там демократическое правление, а себе просил только две крепости — Фермы и Кефалидию. Однако акрагантский тиран Динократ требовал, чтобы Агафокл покинул Сицилию и дал ему своих сыновей в заложники. Агафокл не мог принять таких условий и ради продолжения войны с Акрагантом стал искать мира с карфагенянами. Те, истощённые тяжёлой войной, охотно пошли ему навстречу. Агафокл вернул Карфагену все захваченные у него города в обмен на деньги и зерно. В том же году он официально принял царский титул.
В 305 году до Р.Х. Агафокл выступил против Динократа. Сражение между ними произошло под Горгием. Часть изгнанников из ненависти к Динократу изменили ему и перешли на сторону Агафокла. Остальные бежали. 7 тысяч человек, поверив обещаниям Агафокла, сдались ему в плен. Он велел их разоружить, а затем перебить всех до последнего. Динократ запросил мира и признал над собой власть Агафокла. Изменника Пасифила казнили в Геле.
О последних годах правления Агафокла нам известно очень мало. Заключив мир с карфагенянами, он покорил некоторые города, отложившиеся от него в надежде на собственные силы. Затем он переправился в Италию (300 до Р.Х.). Здесь ему пришлось столкнуться с бруттиями, которые считались в то время самыми храбрыми и самыми богатыми из южных италиков, и к тому же всегда были готовы напасть на соседей. Бруттии, испуганные слухами о его приготовлениях, отправили в Сицилию послов просить о союзе и дружбе. Агафокл пригласил послов на обед, чтобы они не увидели, как переправляется его войско, а назавтра, вместо того чтобы начать назначенные на этот день переговоры, сел на корабль и переправился в Италию, обманув таким образом послов. Но это коварство не принесло ему радости: уже через несколько дней тяжёлая болезнь заставила Агафокла возвратиться в Сицилию. Видя безнадёжность его положения, сын тирана Агафокл Младший и его внук Архагант, сын Архаганта, вступили в междоусобную войну, оспаривая друг у друга царство, как будто Агафокл был уже мёртв. Сын был убит, а внук захватил царскую власть. Перед смертью Агафокл отправил в Египет свою жену Феоксену вместе с малолетними детьми и сразу после этого скончался (289 до Р.Х.). Его держава распалась. Узнав об этом, карфагеняне переправились в Сицилию и подчинили себе многие города.