Попытка Багратиона пробиться на соединение с 1-й армией через Вилейку не удалась, город уже был занят французами. Тогда он повернул на Минск, но и здесь его армия была опережена войсками Даву. Положение Багратиона казалось отчаянным. У него насчитывалось около 40 000 человек, так как целых две дивизии были уже в начале преследования отброшены на Волынь. За ним гнались маршал Даву с 70 000, Понятовский с 35 000, король Вестфальский Жером Бонапарт с 16 000, Груши с 7000 и Латур-Мобур с 8000 солдат. Даже если из этого количества вычесть отставших, больных и мародеров, то все равно оставалось около 100 000 свежего, великолепно вооруженного войска с обильной кавалерией. И все-таки Багратион ушел. Французские командиры сваливали вину один на другого. Отбиваясь с обычным своим мастерством и упорством от наседавшего на него Даву, Багратион бросился к югу и здесь мог бы погибнуть, если бы Жером Бонапарт пришел вовремя и перерезал ему путь. Однако последний промедлил, и Багратиону удалось уйти раньше, чем сомкнулись французские клещи. Он повернул на Несвиж, чтобы, двигаясь через Слуцк, Бобруйск, Могилев, выйти на соединение с армией Барклая-де-Толли. При этом Александр I выражал недовольство действиями Багратиона, так как считал, что 1-я армия делает ошибку, отходя к Дриссе, и требовал от Барклая начать совместные действия. 3 июля он писал к Ермолову: «Стыдно носить мундир, ей-богу, я болен... Что за дурак... Министр Барклай сам бежит, а мне приказывает всю Россию защищать. Пригнали нас на границу, растыкали, как шашки, стояли, рот разинув, загадили всю границу и побежали...»
Отступление 2-й армии сопровождалось частыми стычками с наседавшими французскими войсками. Особенно ожесточенные бои вели казаки атамана Платова, которые прикрывали тыл армии Багратиона. 9 и 10 июля войска Платова разбили около местечка Мир кавалерийскую дивизию генерала Рожнецкого, а 14 июля около Романова уничтожили два кавалерийских полка противника. Эти победы облегчили отход 2-й армии, но положение ее оставалось опасным. Находясь в Слуцке, Багратион узнал, что кавалерия Даву движется на Бобруйск. И на этот раз русский генерал вывел свою армию из трудной ситуации. Осуществив переправу через Березину под прикрытием гарнизона Бобруйской крепости, он направился к Могилеву. Даву подошел к Могилеву раньше Багратиона. 22 июля французы заняли удобную позицию в 11 километрах от города у деревни Салтановка и стали ждать подходившую армию Багратиона. В тот же день состоялся встречный бой между французскими и русскими войсками. Багратиону не удалось прорваться, он оставил у Салтановки корпус генерала Раевского, а сам с основными силами скрытно отошел к Новому Быхову и 25 июля переправился через Днепр.
Весь день 23 июля кипело сражение у Салтановки, где держался арьергард Раевского. По напряженности боя Даву считал, что перед ним вся армия Багратиона, он даже начал готовиться к генеральному сражению. Но на следующий день Раевский отступил. Только через двое суток Даву узнал, что армия Багратиона вышла из окружения и находится уже на левом берегу Днепра, 2-я Западная армия через Чериков и Мстиславль двигалась к Смоленску. В это время армия Тормасова пыталась выдвинуться на сообщения противника, но после неудачного боя у Городечны начала отступление южнее Пинских болот.
Наполеон был очень недоволен неожиданным спасением Багратиона от неминуемого, казалось, разгрома и плена. Правда, все-таки частично Даву исполнил повеление императора: багратионовская армия не была допущена к Витебску и только в Смоленске могла соединиться с армией Барклая-де-Толли. Во всяком случае следовало немедленно извлечь пользу из того обстоятельства, что Багратион ушел, а армия Барклая-де-Толли могла располагать только собственными силами. Почти одновременно с сообщением о переходе 2-й русской армии на левый берег Днепра в Вильно к Наполеону пришла и другая весть: оказалось, что 16 июля Барклай-де-Толли со всем войском внезапно покинул укрепленный лагерь в Дриссе и пошел к Витебску.