19 июля 1666 г. голландцы в составе 85 кораблей и 18 брандеров, имея трехмесячный запас продовольствия, блокировали устье Темзы.
1 августа английский флот (85 кораблей и 19 брандеров) вышел из устья Темзы, о чем Рюйтеру доложили его сторожевые суда. Голландский адмирал принял решение дать бой и с этой целью приказал своему флоту отойти в море к Нордфореленду (остров к востоку от устья р. Темзы), так как перед Темзой находится много рифов и банок, что затрудняло маневр эскадр.
Английский и голландский флоты состояли из трех эскадр каждый (авангард, центр, арьергард).
Центр голландского флота из-за слабого ветра не мог сомкнуть строй. Этим разделением сил воспользовался английский авангард, утром 4 августа обрушившийся на авангард голландцев. Англичане получили отпор, но в бою были убиты все три адмирала голландского авангарда. Команды некоторых судов отказались сражаться, строй распался, и корабли авангарда обратились в бегство.
Центр под командованием Рюйтера лег параллельным курсом с английским центром и завязал с ним бой. Вскоре подошла часть освободившихся судов авангарда англичан, и Рюйтер, увидевший отступление своего авангарда, оказался перед превосходящими силами противника. Но он продолжал бой, надеясь на подход своего арьергарда.
Голландский арьергард под командованием Корнелия Тромпа только в 14 часов вступил в бой с противником. Английский арьергард увлек в сторону голландцев и тем самым изолировал его от центра. Англичане уходили все дальше от места боя, не выявляя намерения вступать в бой. Тромп вынужден был повернуть на присоединение к своему центру, но было уже поздно.
Центр голландского флота (12 судов) оказался без авангарда и арьергарда. Англичане пытались окружить малочисленного противника, но их атака была отражена. Приближался вечер. Рюйтер решил отступать, прикрывая свой авангард и тем самым спасая его от полного уничтожения.