Между тем условия для наступления на Яффу были не очень подходящими. Проливные дожди не утихали, в войсках пало много верблюдов, а самое главное – среди солдат появились первые случаи заболевания чумой. Тем не менее, по команде Бонапарта армия 3 марта начала осаду города. Армию он расположил у крепостных стен следующим образом: на левом фланге – дивизия Ланна, на правом – генерала Бона, а Клебер был выдвинут к северу для прикрытия.
Гарнизон крепости, состоявший из пехоты Абдаллаха и воинов различных народностей (магрибцев, албанцев, курдов, анатолийцев, караманийцев и др.), был полностью блокирован французами. Но пару зрелищных вылазок за стены города сделать им все-таки удалось. Правда, успеха они не принесли, а большинство нападавших были взяты французами в плен. Каково же было удивление и возмущение Бонапарта, когда он узнал, что среди пленных – немало албанцев из Аль-Ариша. Оказалось, что в нарушение условий капитуляции и данной клятвы весь гарнизон оттуда прибыл в Яффу и вновь повернул оружие против французов.
Уже к 6 марта были готовы траншеи для батарей. Но перед тем, как начать штурм, Наполеон решил отправить к защитникам крепости парламентеров с предложением сдаться. Они должны были передать им следующий текст: «Господь милостив и милосерден. Главнокомандующий Бонапарт поручил мне передать вам, что Джеззар-паша начал военные действия против Египта, захватив форт Аль-Ариш; что Бог, который стоит на страже справедливости, дал победу французской армии и она взяла обратно этот форт; что именно в результате этой операции главнокомандующий вступил в Палестину, откуда он хочет изгнать войска Джеззар-паши, которому никогда не следовало входить туда; что крепость обложена со всех сторон; что батареи, предназначенные для ведения настильного огня и снабженные бомбами, а также батарея, предназначенная для пробития бреши, за два часа разрушат все оборонительные сооружения; что главнокомандующий Бонапарт жалеет о тех бедах, которые обрушатся на город в целом, если он будет взят штурмом; что он предлагает свободный выход гарнизону и покровительство городу, а потому откладывает открытие огня до 7 часов вечера».
Турки впустили в город офицера-парламентера и трубача, но уже через четверть часа, ко всеобщему ужасу французов, их головы были вывешены на пиках, а трупы – сброшены со стен. В ответ на это Бонапарт приказал пленных не брать и начать артиллерийский обстрел крепости. Огонь артиллерии был столь сокрушительным, что уже к 16 часам в одной из башен была пробита большая брешь. В нее бросился генерал Ланн с полком солдат и захватил цитадель.
Наблюдая за штурмом крепости, Бонапарт стоял на насыпи батареи. Внезапно пуля сбила у него шляпу, пройдя в трех дюймах от головы, и поразила стоявшего рядом полковника Лежена, рост которого составлял 5 футов 10 дюймов. Вечером, после сражения главнокомандующий в связи с этим происшествием заметил: «Уже второй раз с того времени, как я воюю, рост в пять футов два дюйма спасает мне жизнь». Как тут в очередной раз не поверить в Звезду, которая хранит и ведет его по жизни?
Ночью состоялся общий штурм, и после упорного сопротивления город пал. Ворвавшись на его улицы, солдаты принялись истреблять всех жителей подряд и грабить дома и лавки. Между тем в одном из укреплений крепости укрылось около 4 тысяч вооруженных турецких солдат (в основном албанцы). На предложение сдаться они ответили, что будут драться до последней капли крови, если французы не гарантируют им жизнь. Вопреки приказу главнокомандующего офицеры, чтобы избежать лишнего кровопролития, пообещали сохранить жизнь пленным. Но когда Бонапарт увидел их в лагере, возмущению его не было предела: «Разве у меня есть чем их кормить? Или суда, чтобы перевезти их в Египет или во Францию?» Три дня он раздумывал над тем, что делать с ними дальше, а в это время, по воспоминаниям Бурьенна, «пленников посадили кучами перед палатками. Руки у них были связаны веревкою за спиною. Мрачная ярость изображалась у них во взорах. Им дали понемногу сухарей и хлеба, отделенных от припасов нашей армии, и без того уже скудных… Приказ расстреливать их был дан и исполнен 10 марта. Не отделяли, как писано, египтян от прочих пленников: их не было».