Снявшись со стоянки, армия шведского короля двинулась к Березине. Введя в заблуждение российское командование обманным маневром кавалерии в сторону города Борисова, король вывел армию несколько севернее и без помех осуществил переправу. Однако из-за растянутости войск маневр запоздал, русская армия успела отойти на новую позицию у Головнина и стала за небольшой речкой Бабич, чтобы преградить шведам путь, мешая их дальнейшему продвижению.
29 июня авангард шведской армии вышел к берегу реки. Первой двигалась колонна, возглавляемая лично королем. На основании сведений разведки король внимательно изучил расположение русских войск, которые растянулись на 9 километров вдоль русла. При этом глубина обороны не превышала одного батальона. Король решил, не дожидаясь подхода всех сил, начать атаку на стыке дивизий Репнина и Шереметева. Этот участок не простреливался основной артиллерией русских. Главный удар при этом наносился по дивизии Репнина, а против войск Шереметева планировалось проведение лишь демонстрации наступления. Шведской кавалерии ставилась задача нейтрализовать русскую конницу Гольца и затем ударить дивизии Репнина во фланг. В ночь с 3-го на 4 июля пять полков отборной пехоты во главе с королем Карлом начали переходить реку вброд под прикрытием тумана и начавшегося дождя. Одновременно, для того чтобы скрыть место переправы, севернее и южнее шведы начали проводить отвлекающие действия. В дополнение к этому 28 орудий открыли огонь по русским батареям и быстро их подавили. Переправившись на левый берег, шведские батальоны развернулись в линию и атаковали дивизию Репнина. Учитывая, что берег реки был сильно заболочен, король не решился бросить войска сразу в штыковую атаку, а приказал открыть мушкетный огонь. Комбинированный огонь пехоты и артиллерии нанес ощутимые потери русским. Полки Репнина два часа простояли под огнем, лишь отстреливаясь. В это же время генерал Реншельд с кавалерией сдерживал конницу Гольца, а с подходом дополнительных эскадронов и вовсе опрокинул ее. Не получив помощи ни от Гольца, ни от Шереметева, оказавшись под угрозой окружения, деморализованные войска Репнина стали быстро уходить, оставив шведам семь своих орудий. Король развернул войска против войск Шереметева, но тот тоже уже отступил, оставив позиции. Из войск Репнина только 800 человек сразу же присоединились к Шереметеву. Остальные еще три дня небольшими группами и поодиночке выходили лесами. По оценке шведского историка П. Энглунда, русские в этом столкновении потеряли 5000 человек, а шведы – около 1200. Российские источники говорят лишь о 675 убитых в русской армии, примерно о таком же количестве раненых и о 630 пленных. При этом шведы, по подсчетам русских, потеряли 255 убитыми и 1219 ранеными.
Царь Петр пришел в ярость. Особенно он негодовал по поводу преднамеренного искажения ситуации в реляциях Репнина и Шереметева. Аникита Репнин был предан военному суду. Его лишили чина и должности, а также обязали возместить стоимость брошенных пушек и снаряжения. Солдат, получивших ранение в спину в этом бою, приговорили за трусость к смерти. Позднее, перед битвой у Лесной, по свидетельству историка Д. Н. Бантыш-Каменского, разжалованный в солдаты А. Репнин предложит царю создавать своеобразные заградительные отряды из казаков и калмыков, чтобы те стояли позади полков и кололи всех, кто подастся назад. Царю якобы эта идея пришлась по душе, и после боя опальный Репнин был прощен.
На пути у шведского короля больше не было преград, и 7 июля он занимает Могилев. Тут он останавливается на целый месяц, где ожидает прибытия корпуса генерала Левенгаупта с обозом. Ведь армия в восточном походе уже год, и ей остро не хватает боеприпасов, снаряжения, да и полки изрядно поредели. Левенгаупт, по мнению шведских авторов, имел 12 500 солдат (россияне в своих источниках настаивают на 16 ООО человек), 16 пушек и 7–8 тысяч возов с боеприпасами и снаряжением. Такой громоздкий обоз двигался крайне медленно, с частыми остановками, и нетерпеливого короля это сильно раздражало. Не дожидаясь подхода Левенгаупта, что, возможно, было большой ошибкой, король выступил, чтобы навязать русской армии сражение. Ему удалось спровоцировать несколько небольших столкновений, но они больше ослабили шведскую армию, которая и так терпела нужду во всем необходимом. Сами же русские постоянно тревожили шведов мелкими наскоками. Шведская армия двинулась в сторону Смоленска, а перед ней, по-прежнему опустошая все на своем пути, отступала русская. Учитывая это обстоятельство, Карл приходит к мысли об изменении плана кампании.