Начало боя повторило, на первый взгляд, знаменитое Ледовое побоище. С оглушительным лязгом оружия и воинственными криками врезалась в новгородский пеший строй немецкая железная «свинья». Пятились новгородцы под страшным напором, но продолжали сражаться. Потери были тяжелы, но клин рыцарского войска так и не сумел пробить «чело». Стройные ряды рыцарей рассыпались, теперь каждый сражался поодиночке. Рослые всадникив рыцарских доспехах, мерно поднимая и опуская длинные мечи, плыли над головами пеших новгородских воинов, как черные варяжские ладьи над бурными волнами. И, как ладьи, тонули в волнах новгородского ополчения. Новгородцы вырывали рыцарей из седла железными крючьями на длинных древках… Чтобы помочь новгородской пехоте, с левого крыла ударила тверская дружина князя Михаила. Это не было неожиданностью для немцев, резервные отряды рыцарей выехали навстречу и задержали ее. В схватку на фланге втягивались все новые и новые отряды рыцарей. И тогда с другого фланга ударила отборная русская конница: переяславцы псковичи, владимирцы. Удар был неожиданно сильным, рыцари начали отступать. Часть из них поскакала к недалекому лесу, но большинство устремилось к Раковору, чтобы спрятаться за крепостными стенами. Их неотступно преследовала дружинная конница. Дорога отступления вдоль реки Кеголи превратилась в дорогу смерти. «Негде коням ступить в трупах немецких», – вспоминает летописец.
От полного разгрома рыцарей спасло приближение еще одной немецкой рати. Преследование пришлось остановить и строиться для нового боя.
Но немцы не решились напасть. Поле битвы, залитое кровью, покрытое множеством трупов в рыцарских доспехах и плащах кнехтов, казалось таким страшным, что они остановились на другом краю поля и простояли до темноты. Ночью рыцари тихо ушли. Переяславские дозоры не обнаружили их ни за два, ни за четыре, ни за шесть часов пути. Это была победа…
Три дня простояло русское войско «на костях», отдыхая после страшной сечи и хороня павших. Особенно тяжелыми были потери в новгородском пешем ополчении, остановившем натиск рыцарской железной «свиньи». Среди убитых опознали новгородских бояр Твердислава Чермного, Микифора Редитина, Твердислава Моисеевича, Михаила Кривцова, Ивача, Бориса Ильдетинича, брата его Лазаря, Ратшу, Василия Воиборзова, Осипа, Жирослава Дорогомиловича, Парамона, Полюда и иных многих. Убит был и посадник Михаил Федорович, сражавшийся в воинском строю. Не нашли среди павших тысяцкого Кондрата, Радислава Болдыжевича, Данилу Мозонича, «порочного мастера» Тогала – не то немцы, отступая, уволокли с собой, не то снегом засыпало где-нибудь в овражке. Много полегло и псковичей; князь Довмонт не щадил ни себя, ни своих воинов. Зато и честь взял немалую, имя его ратники называли рядом с именем предводителя войска, славного витязя князя Дмитрия.
Возвратилось в Новгород русское войско, разошлись по своим городам «низовские полки», а князь Довмонт продолжал войну. Его конные дружины прошли по всей земле Вирумаа, до самого моря, сокрушая рыцарские замки, наводя страх на датчан. Автор «Повести о князе Довмонте» писал: «Князь Довмонт прошел горы непроходимые и вируян пленил до моря, и повоевал Поморье, и возвратился в Псков, наполнив землю свою множеством полона».
И позже князь Довмонт участвовал в защите новгородских земель. Но и новгородцы не оставляли Псков в беде. В 1269 году «пришли немцы в силе великой под Псков». Приступ князь Довмонт отбил, но для того, чтобы отогнать рыцарей от города, сил у него не оказалось. Десять дней осаждало рыцарское войско город. На помощь Пскову поспешили новгородцы. На конях и в быстрых ладьях-насадах они двинулись против врага. Осада была снята. Как сообщает новгородский летописец, «немцы увидали новгородский полк, побежали за реку. Новгородцы же приехали в Псков и взяли мир через реку по всей воле новгородской». Но это, пожалуй, единственный случай, когда Псков пришлось выручать из беды. Обычно князь Довмонт справлялся сам.
Впрочем, немцы побаивались нападать на город, ограничиваясь набегами на пограничные псковские земли. Но и тут их настигала заслуженная кара. Например, в 1271 году, по сообщению псковского летописца, «остаток собравши поганые Латины, и пришедше тайно, взяша украины неколико псковских сел, и возвратишася вскоре». Князь Довмонт, «не стерпя обиды», немедленно бросился в погоню. На пяти насадах у него было всего шестьдесят «мужей пскович», а немцев оказалось восемьсот. На реке Мироповне псковичи нагнали врага и разбили наголову. Много немцев погибло в бою, еще больше утонуло в реке во время бегства. Только два немецких насада успели переплыть на остров, покрытый густыми зарослями. Казалось, беглецы спаслись. Но князь Довмонт приказал поджечь сухую траву: «Князь же Довмонт, ехав, повеле зажещи остров, и егда начаша погании бегати, палима траве, всполеша огнем и власи на них и порты, и тако победи их апреля 23-го».