Батальоны эти не выполнили поставленной перед ними блестящей задачи — привыкнув ходить только лишь колоннами, они, продвигаясь по лесу, безнадежно разорвались, а когда встретились там еще и с егерями 23-го полка, то вообще почли за благо вернуться.
На отбитую Сабанеевым ключевую, по сути, высоту Каменский поставил артиллерию — все восемь орудий — и открыл яростный огонь. Тем временем генерал-майор Ансельм де Жибори, посланный русским командующим с батальоном Тенгинского полка и тремя ротами в брод через залив для обхода левого фланга неприятеля, а позднее с этой же целью усиленный еще двумя ротами Пермского батальона, продолжал движение.
Надо было выиграть время (шведы, в свою очередь, вознамерились взять высоту во что бы то ни стало), и генерал Готовцев обратился к Каменскому за разрешением на штыковую контратаку. Командующий разрешил.
Готовцев повел своих людей на левый фланг неприятеля, Алексеев — на правый. Вражеские колонны были, опрокинуты, но русские дорого заплатили за эту победу: Готовцев был убит, а Алексеев ранен. На их место встали Сабанеев — командиром левого крыла и Аргун — командиром центра.
Тогда же Ансельм де Жибори, закончив обход, ударил шведам во фланг. Вахтмейстер отрядил против него три батальона, из них два гвардейских полка королевы. На помощь де Жибори Каменский бросил вперед, на правый фланг противника, батальон Ревельского полка, на левый фланг противника — батальон Севского. Шведы, не выдержав, отступили в лагерь, за мост, после чего разрушили его.
Еще в начале боя Сабанеев отправил одну роту Севского полка на шведский крайний левый фланг для наблюдения. И вот теперь ее командир штабс-капитан Шрейдер прислал полковнику донесение, что против него противника не видно и он просит подкрепления, дабы действовать уже на том берегу. Сабанеев выслал ему еще пять рот. Шрейдер перешел реку и повел людей направо, в тыл отряда, отражавшего Ансельма, и налево, во фланг Вахтмейстера.
Аргун, подкрепленный Каменским из резерва, начал перебираться через реку почти рядом с разрушенным мостом; де Жибори штыками подвинул еще шведов, и тут их командующий решил отступить.
Он отходил по правилам, под защитой сильного арьергарда, но Шрейдер отрезал его колонну, действовавшую против Ансельма, и она не выдержала — побежала. Многие погибли, еще большее число попало в плен.
Русский командующий решил не давать времени разгромленному противнику для осмысления происшедшего и извлечения уроков. Он спешил воспользоваться его деморализованностью, непременным следствием поражения, и быстро двинулся к Ротану на захват кораблей десанта.