В этом бою потери русских составили до 3700 человек, из них до 100 офицеров. Потери поляков были не меньше, только в плен русские захватили 600 человек.
После сражения при Варве войска генерала Хлопицкого расположились следующим образом: 1-я пехотная дивизия Круковецкого — в Брудно, имея один батальон с одним эскадроном в Зомбках; 2-я и 3-я пехотные дивизии Жимирского и Скржинецкого — у ольховой рощи; 4-я пехотная дивизия Шембека — между Брестским шоссе и болотами острова Сасска-Кемпа, занимая здесь двумя полками егерей лесок. По сторонам ольховой рощи была расположена артиллерия: вправо до шоссе — четыре батареи, влево по дороге в Кавенчин — две батареи. Пространство между главными силами и дивизией Круковецкого занимала кавалерия: дивизия Лубенского — поперёк дороги в Зомбки; корпус Уминского (две дивизии и две батареи) — у колонии Элснер, наблюдая Зомбки — Кавенчин; вблизи Праги — косиньеры, артиллерийские резервы и парки. Всего 56 тысяч (36 тысяч пехоты, 12 тысяч кавалерии, 8 тысяч косиньеров), а без Круковецкого — 44 тысячи человек.
Русская армия расположилась следующим образом: I пехотный корпус графа Палена 1-го (1-я, 2-я и 3-я пехотные дивизии и 1-я гусарская дивизия) — по обеим сторонам Брестского шоссе; литовский (VI) пехотный корпус барона Розена (24-я и 25-я пехотные дивизии, литовская гренадерская бригада и литовская уланская дивизия) — на опушке боль-того леса, примыкая к правому флангу Палена и имея часть артиллерии на позиции у корчмы Выгода и конницу у Кавенчина; 2-я гренадерская дивизия — на Брестском шоссе за корчмой Вавр; III резервный кавалерийский корпус графа Витта, гвардейский отряд и артиллерийский резерв — в Милосне. Отряд командира гренадерского корпуса князя Шаховского подходил с севера и 12 февраля занял Белоленку. Русских войск всего было 72 тысячи человек (56, 5 тысяч пехоты и 16, 5 тысяч кавалерии) при 252 орудиях, а без Шаховского — 59, 5 тысяч человек при 196 орудиях.
Главнокомандующий фельдмаршал Дибич намеревался дать бой 14 февраля, причём главный удар нанести на левый, наиболее открытый, фланг противника отрядом Шаховского, усиленным III резервным кавалерийским корпусом, через Белоленку на Брудно и далее, отрезая поляков от Праги. Розен должен был развернуться по обе стороны Кавенчина; Пален — примкнуть к его левому флангу, имея 1-ю дивизию левее шоссе; резерв — собраться за Кавенчиным.
В 9 часов 30 минут утра 13 февраля русская артиллерия открыла огонь, и правый фланг медленно начал наступать к ольховой роще. Опушку рощи занимала польская бригада Голанда, за ней расположилась бригада Чидевского, за рощей стояла дивизия Скржинецкого. Около 10 часов утра Розен двинул в атаку пять батальонов 24-й дивизии, которые ворвались в переднюю часть рощи, но, дойдя до рва, были отброшены. Розен ввёл в дело шесть батальонов 25-й дивизии, но дивизия Жимирского принудила эти части к постепенному отступлению. В подкрепление были двинуты справа два полка 25-й дивизии, а слева — два полка I корпуса. Вторая атака была проведена восемнадцатью батальонами, которые к 11 часам выбили дивизию Жимирского из рощи, при этом сам Жимирский был смертельно ранен. Русские, заняв противоположную опушку, оказались под картечным огнём. Хлопицкий выдвинул дивизию Скржинецкого, за которой устремилась и дивизия Жимирского. Этими двадцатью тремя батальонами восемнадцать русских батальонов были выбиты из рощи.
Тем временем литовская гренадерская бригада и литовская уланская дивизия продвинулись вперёд между Кавенчиным и Зомбками. Несвижские карабинеры с Волынским уланским полком выбили поляков из Зомбок и колонии Мациас, два уланских полка прикрывали фланг правее Кавенчина.
Канонада со стороны Белоленки продолжалась, и Дибич в 12 часов дня направил на рощу третью атаку: справа — корпус Розена, слева — всю 3-ю дивизию. Начальник главного штаба армии граф Толь, присоединив на правом фланге к двум батареям VI корпуса батарею литовской гренадерской артиллерийской бригады и взяв в прикрытие Житомирский полк, стал обходить рощу справа, а Нейдград, двинув шесть батальонов 3-й дивизии в рощу, с остальными начал обходить её слева. Кроме артиллерии I корпуса, по сторонам шоссе была выдвинута 20-я конноартиллерийская рота и четыре орудийных гвардейских отряда под прикрытием Ольвиопольских гусар.
Захватив опушку, части VI корпуса снова были остановлены огнём из-за большого рва. Обходившая рощу артиллерия графа Толя тоже была остановлена рвом. На левом фланге свежие части 3-й дивизии, опрокинув неприятеля и частью обогнув рощу, попали снова под картечь. Хлопицкий ввёл в дело всю дивизию Жимирского, перед этим поддерживавшую лишь Скржинецкого, а сам во главе четырёх батальонов гвардейских гренадер повёл атаку на правом фланге.
Наши утомлённые полки были вынуждены отступить, и постепенно поляки снова заняли всю рощу. Но это был последний их успех в этом бою. Фельдмаршал усилил войска 3-й бригадой 2-й гренадерской дивизии, развернул часть III резервного кавалерийского корпуса и лично повёл войска в наступление. Гренадерская бригада пошла между VI корпусом и 3-й дивизией. Узнав в это время об отходе князя Шаховского от Белоленки, — причём поляки легко могли отступить к Праге, — Дибич решил поддержать 3-ю бригаду гренадер 2-й бригадой той же дивизии (всего в последовавшей четвёртой атаке участвовало 38 батальонов), а правее рощи пустить 3-ю кирасирскую дивизию с лейб-гвардейским уланским полком, под общим руководством Толя, дабы обходом конницы облегчить овладение рощей и ударом кирасир разорвать фронт отступающих поляков, и хоть правый их фланг отбросить к болотам у Брестского шоссе.
Гренадеры первыми ворвались в рощу, за ними — остальные. Поляки пытались остановиться за рвом, но, не имея более резервов, были опрокинуты, и роща окончательно осталась за русскими. Артиллерия (всего до 90 пушек) действовала по польской артиллерии за рощей.
Конница Толя вынуждена была колонной по шесть преодолевать препятствия и выстраиваться под огнём польской батареи, причём поляки выигрывали время на построение каре. Вперёд выдвинулись наши 24 конные пушки Герштенцвейга и 8 пеших пушек, под прикрытием которых конница развёртывалась в боевой порядок. Для обеспечения кавалерийского манёвра 1-я бригада 2-й кавалерийской дивизии, составлявшая правый фланг боевого порядка пехоты, продвинулась к северной опушке рощи.
В то же время литовская гренадерская бригада с двумя уланскими полками заняла колонии Мациас и Эльснер, а Литовским уланским полком связывалась с кавалерией Толя.
Генерал Хлопицкий приказал дивизии Круковецкого и кавалерии Лубенского перейти к роще, но в это время он был ранен и унесён с поля сражения. С этого момента управление боем у поляков исчезло.
Кавалерия Толя выстроилась в три линии. Решено было повести наступление одновременно по сигналу, и, чтобы отрезать поляков от Праги, каждый последующий полк должен был принимать вправо и подавать вперёд правый фланг. Однако Толь, а с ним и начальник кирасирской дивизии, увлеклись частной атакой улан против вышедшего из рощи польского батальона. Уланы были остановлены глубокой канавой под огнём противника. Толь вызвал конную батарею, которая очистила путь уланам.
Одновременно двинулись в атаку кирасиры Альберта, атака продолжалась 20 минут. Кирасиры потеряли около половины своего состава, зато у поляков началась паника, и сам главнокомандующий Михаил-Гедеон Радзивилл ускакал в Варшаву. Толь, находясь с уланами, не успел поддержать этой атаки всей дивизией, а затем уже ничего решительного не предпринял.
При виде успеха кирасир, барон Гейсмар с кавалерией левого фланга поторопился с атакой и двинул вперёд сумских и ольвиопольских гусар и украинских улан с конной батареей, а за ними бригаду егерей. Гусары сбили егерей Шембека и опрокинули его дивизию. В это время Пален двинул и пехоту левого фланга: 1-ю дивизию — левее шоссе, а 2-ю — правее. Польские начальники потеряли голову, лишь Скржинецкий восстановил порядок и занял позицию на холмах у монумента. Слева к нему пристроилась кавалерия Уминского и бригада дивизии Круковецкого, позади стала кавалерия Лубенского.