Между тем измученный трехмесячным нелегким путем обоз Левенгаупта 18 сентября подошел наконец к Днепру. Здесь Левенгаупта перехватили три королевских гонца с приказом перейти через реку и поворачивать на юг, к новому месту встречи – Стародубу. В течение трех дней усталые солдаты переправляли подводы через Днепр. 23 сентября, когда на восточный берег высаживались последние роты, Левенгаупта встревожило приближение значительных групп русских войск – то тут, то там на опушке леса замаячили кавалеристы в красных мундирах. Тогда он поспешил к городу Пропойску на реке Сож. Если бы он успел вовремя переправиться через Сож, у него были бы неплохие шансы настичь королевскую армию целым и невредимым.
Началась упорная гонка. Левенгаупт отчаянно рвался к Пропойску, но его тяжело груженные фуры вязли в дорожной грязи. Утром 27 сентября передовые отряды русской конницы настигли его и сцепились с тыловым охранением. Левенгаупт понял, что серьезного столкновения не избежать и, значит, нужно сделать выбор: то ли оставить арьергард сдерживать противника сколько возможно и в крайнем случае пожертвовать им, а самому со всеми войсками и обозом попытаться как можно скорее достичь Сожа или же остановиться и принять бой. Левенгаупт был верен себе – он выбрал второе. Отослав подводы вперед, он вывел пехоту и конницу на дорогу и построил в боевой порядок, ожидая нападения русских. Так они и простояли все утро и первую половину дня 27 сентября. Ближе к вечеру стало ясно, что русские пока нападать не собираются. Левенгаупт, свернув боевой порядок, отошел по дороге на несколько миль и снова приготовился к бою. Солдаты простояли в строю всю ночь.
На следующее утро, 28 сентября, так и не дождавшись атаки, шведы снова отступили, отбиваясь на марше от вившихся вокруг них русских конников, и дошли до деревни Лесная, лежавшей в дневном переходе от Пропойска. Тут-то и сказалась потеря почти целого дня. Не будь этого бесплодного ожидания, Левенгаупт мог бы переправиться через Сож и быть в безопасности.
Теперь же, осаждаемый русскими, Левенгаупт понял, что до реки ему не добраться и придется принимать сражение. Он выслал 3000 кавалеристов вперед к Пропойску – занять переправу, а сам с оставшимися 9500 солдатами изготовился к бою. Он приказал частично распределить обоз между офицерами: полковник мог оставить за собой четыре подводы, майор – три, и так далее.
Петр, со своей стороны, приказал спешиться драгунам и посаженной на коней пехоте и расположил их на опушке леса, поручив Меншикову командовать восемью полками на левом крыле, а на себя взял правое крыло с семеновцами, преображенцами и тремя драгунскими полками. В час дня 28 сентября началось сражение. Оно бушевало целый день, и, по словам Петра, «виктории нельзя было во весь день видеть, куда будет». Когда войска Меншикова дрогнули, Петр послал им на подмогу семеновцев, которые отчаянной контратакой восстановили смешавшиеся было ряды. Когда минуло четыре часа пополудни, на помощь русским явился Боур с тремя тысячами драгун, но шведы уравновесили численность, отозвав к месту схватки 3000 кавалеристов, посланных ранее на защиту переправы. Бой не унимался до ночи, но внезапно налетела невиданная для ранней осени пурга, слепившая глаза, и заставила прекратить битву. Хотя шведы сохраняли строй, Левенгаупт приказал отступить и поджечь подводы. Полыхали в ночи, рассыпая бесчисленные искры, фуры с припасами, которые с таким невероятным трудом дотащились сюда из Риги – под проливными дождями, по разбитым лесным дорогам. Медные и чугунные пушки, чтобы они не достались русским, сняли с лафетов и зарыли в землю. Зловещее зарево горящих подвод освещало картину всеобщей сумятицы: не устояла и шведская дисциплина. Солдаты бросились хватать с офицерских подвод пожитки и водку. Подразделения потеряли связь друг с другом, и многие солдаты заблудились в лесу. Некоторые пехотинцы вскочили на выпряженных из подвод коней и пустились вскачь к Пропойску, чтобы найти спасение за рекой. Когда уцелевшие полки подошли на рассвете к Пропойску, оказалось, что все мосты сожжены. Поэтому переправить немногие оставшиеся подводы было уже невозможно, и их сожгли на берегу. Вдобавок на беспорядочно отступавших шведов налетели казаки с калмыками и порубили на берегу еще 500 человек.
Лишь поутру стало ясно, какое бедствие постигло шведов. Дневная битва и ночной хаос стоили Левенгаупту половины его сил: из 2000 кавалеристов осталось 1393, из 2500 драгун – 1749, а из 8000 пехотинцев уцелело всего 3451. Общие потери составили 6307 человек, из них более 3000 попали в плен. Немало шведов поодиночке или сбившись в кучки блуждали по лесам, пока не были перебиты или взяты в плен. Тысяче человек удалось добраться через Литву обратно в Ригу. Обмундирование, провиант, боеприпасы и медикаменты – все, в чем так отчаянно нуждался Карл, – пропало. Русские потеряли убитыми 1111 человек и ранеными 2856. С обеих сторон в бою участвовало примерно по 12 000 человек, русские потери составили одну треть, а шведские – половину личного состава.