Когда родосцы увидели, какая часть стены должна подвергнуться нападению, они немедленно принялись строить общепринятую внутреннюю стену. Осаждающие начали вести подкоп под внешнюю стену, и родосцы в качестве ответной меры прорыли ход изнутри и ворвались в подкоп, помешав саперам довести работу до конца. Но устоять против машин Деметрия было невозможно, и под их непрерывным натиском стены начали рушиться. Множество стрелометов гелеполы не давало защитникам подняться на стены и, как и в Саламине, тяжелые камнеметы с нижних этажей башни смели зубцы со стен. Самая большая из семи башен, попавших под удар, была обрушена вместе с куском куртины, так что защитники уже не могли переходить по верху стены от одной части стены к другой. Однажды безлунной ночью родосцы предприняли вылазку, пытаясь поджечь гелеполу, но им это не удалось. Деметрий, заботясь о безопасности своего чудовищного детища, отвел башню назад. Однако как только башню починили, Деметрий вернул ее к стенам. Пока Деметрий готовился к продолжению осады, родосцы возвели третью внутреннюю стену, охватывавшую все части внешней стены, бывшие в опасном состоянии, и вырыли позади обрушившейся стены глубокий ров, чтобы не дать ввести машины в город. И снова гелепола появилась у стен, катапульты прогнали защитников со стен, и тараны разбили еще два находящихся рядом отрезка куртин, изолировав одну из башен. Однако родосцы отчаянно защищали башню и, невзирая на огромные потери, не позволили Деметрию ее захватить. Тогда Деметрий предпринял последнюю попытку взять город: полторы тысячи отборных воинов ночью ворвались в город через пролом в стене; но, несмотря на отчаянный натиск одновременно с моря и с суши, на следующее утро атаки были отбиты и штурмовики Деметрия выброшены из города. Деметрий исчерпал все свои средства и под давлением других греческих государств был вынужден заключить мир с родосцами. Витрувий добавляет еще кое-какие подробности, хотя они, возможно, апокрифические. По его словам, жители Родоса уговаривали Диогнета, городского архитектора, найти способ захватить гелеполу. Диогнет пробил в городской стене дыру напротив того места, куда должна была подойти гелепола. Затем он приказал родосцам собрать побольше нечистот и жидкой грязи и ночью вылил все это через отверстие в стене, так что образовалось болото, в котором должна была застрять башня.