Однако Салах ад-Дин нанес удар первым. 27 июля его войска подошли к стенам Яффы. После пятидневной осады город пал. Городской гарнизон укрылся в цитадели. Мусульмане бросились грабить город. Именно в Яффу король завез добычу из перехваченного каравана. Держать цитадель не было никакой надежды. Чтобы не быть перебитым при штурме, гарнизон цитадели, во главе которого встал случайно оказавшийся в городе новый патриах Рауль, начал переговоры о сдаче. Договорились, что сдача произойдет на следующий день, 1 августа, в 3 часа дня.
Ричард получил сообщение об осаде вечером 28 июля. Немедленно были собраны и отправились в путь два отряда: один, усиленный пизанцами и генуэзцами, под командой короля - на кораблях морем, другой под командой графа Шампанского, состоявший из тамплиеров, госпитальеров и его людей, - сушей. Оба отряда в пути были задержаны, корабли Ричарда - встречным ветром у горы Кармель, граф Генрих - силами мусульман у Цезареи.
Флот короля смог достичь Яффы только глубокой ночью с 31 июля на 1 августа. Когда немного рассвело, стало видно, что город и берег полны мусульман. Франкское знамя на цитадели ничего не доказывало, это могло быть ловушкой. Ричард приказал трубить в трубы, но ничего не предпринимал. Салах ад-Дин велел гарнизону цитадели сдаваться немедленно. В этот критический момент из цитадели в море прыгнул какой-то монах и вплавь добрался до кораблей. Узнав, что цитадель еще держится, король приказал атаковать. Королевская галера первой вырвалась к берегу, король первым спрыгнул в воду и по пояс в воде пошел в атаку. Как и при высадке на Кипре, решающую роль сыграли стрелки. Под их прикрытием произошла высадка остальных. Всего с Ричардом было 15 рыцарей на конях и до тысячи стрелков (среди них много итальянцев) и копейщиков. Отряд Ричарда ворвался в город. Мусульман было много, но они были захвачены врасплох. Увидев на городской стене королевское знамя, гарнизон цитадели предпринял вылазку. Амбруаз пишет: «Убиты были все, кто не успел убежать, множество богатых людей сдалось, и город был вызволен из рук сарацин». Лагерь Салах ад-Дина перед городом смели всеобщее бегство и атака. Ричард разбил лагерь на месте лагеря султана, так как город после двух штурмов был полон трупов. Знатных пленников привели к Ричарду. Король говорил с ними о необходимости заключения мира, о глубоком уважении к Салах ад-Дину. В обычной усмешливой манере спрашивал, почему султан его не дождался, им необходимо было поговорить, сам-де он воевать не собирался, и показывал на сандалии, в которых был на корабле и в бою. В это время Ричард получил подкрепление: к нему пробился почти полностью лишившийся коней отряд Генриха Шампанского.
Взятие Салах ад-Дином Яффы было хорошо расчитанным ударом. Таким образом отрезался и принуждался к оставлению Аскалон и христиане лишались двух ближайших к Иерусалиму портов. Султан немного поторопился. Ударь он на Яффу несколькими днями позже, ушедший в поход на север Ричард уже не успел бы на помощь. Но и теперь не все было потеряно для султана. Его армия, значительно превосходившая силы Ричарда, находилась в восьми километрах от Яффы. Со своей стороны, устроив лагерь вне городских стен, Ричард провоцировал Салах ад-Дина на нападение. Нападение не замедлило произойти. На рассвете 5 августа один генуэзец, выйдя по нужде из лагеря, увидел блеск оружия и успел предупредить христиан. Впрочем, возможно, это просто легенда. Так или иначе, к бою все были готовы, и Ричард смог быстро выстроить боевой порядок.