Дав короткий отдых своей армии в Бобруйске, князь Багратион двинулся на Могилев, стремясь опередить Даву и не дать ему занять этот город, который долгое время был административным центром присоединенных к России территорий Речи Посполитой.
Но «железный маршал» снова сумел опередить нашу армию. Его авангард подошел к Могилеву на сутки раньше — 7 июля. В отличие от многих городов этого края, жители которых радостно приветствовали французов как освободителей от русской оккупации, Могилев, уже 40 лет пробывший в составе Российской империи, без боя не сдался. В местной краеведческой литературе сохранил рассказ о подвиге защитников города:
«7 июля французский авангард по Виленскому тракту подошел к городу и остановился на ночлег в селе Княжицы. По распоряжению губернатора Толстого могилевский полицмейстер Литвинов с 30 рядовыми внутреннего батальона выступил к местечку Княжицы и напал на аванпосты французов.
Утром 8 июля солдаты гарнизонного батальона и отряда А.И. Грессера на Виленском поле подпустили наступающих французов на расстояние 200 шагов и дали дружный залп из ружей. До 7 вражеских солдат было убито, а остальные егеря быстро отступили к лесу, ожидая подхода своей пехоты. В отличие от других городов Беларуси Могилев встретил французов не торжествами, а сопротивлением батальона охраны города.
Прозвучавшие выстрелы заставили французское войско построиться в боевой порядок и начать организованное наступление. В боевом строю они вышли из леса и при поддержке артиллерийской роты, стреляя на ходу, направились к Виленской браме. Гарнизонная охрана города понесла потери. Стремительным натиском французы сбили с позиций защитников Могилева. Отстреливаясь от наседавшего противника, стражники начали поспешно отступать.
Оставшиеся на месте караульные солдаты у Шкловской брамы и провиантского магазина возле Быховской заставы были убиты. Офицер, командовавший караулом у въезда со стороны Шклова, получил предложение сдаться, но отказался и вместе с подчиненными погиб.
Осторожно вступив в город, французы рассыпались по улицам, стреляя из ружей в отступавших солдат гарнизона. Перебив караул у Днепровского моста, а нескольких раненых русских солдат столкнув в реку, французы захватили мост.
Горожане, высшие чиновники, в том числе губернатор Толстой, вице-губернатор Юсупов и другие, оставили город, причем губернатору пришлось уходить от погони французской кавалерии пешком. Д.А. Толстой пребывал в Могилеве до последней возможности и не успел вывезти даже своего сына, который остался под чужим именем в городе у священника».
За мужественную защиту своего города солдатам Могилевской внутренней стражи было объявлено Высочайшее Благоволение.
Узнав о захвате войсками Даву Могилева, князь Багратион предпринял попытку отбить город и двинулся к нему со своей армией от Быхова, имея в авангарде казачий корпус генерала от кавалерии Платова и 7-й пехотный корпус генерал-лейтенанта Раевского. Удар на Могилев имел целью не только отбить город, но и оказать помощь 1-й Западной армии, которая в это время готовилась к сражению с главными силами французов у Витебска.
Сражение продолжалось с большим упорством весь день. Французы, развернув многочисленные силы, смогли отбить упорные атаки корпуса Раевского, а князь Багратион, оценив численность неприятеля и получив известия об отходе армии Барклая де Толли от Витебска, решил на следующий день не возобновлять сражения. Его армия переправилась через Днепр и начала марш к Смоленску.
Существовала опасность, что корпус Даву может опередить обе русские армии и первым занять этот город, истребить продовольственные и военные склады, чем серьезно затруднить положение русских. Однако «железный маршал», что называется, «забуксовал». Оценив натиск солдат Раевского в бою под Салтановкой, он решил дождаться удара русских в Могилеве, и его солдаты принялись строить вокруг города защитные сооружения. Лишь через четыре дня маршал осознал свою ошибку и бросился к Смоленску. Но было уже поздно. 1-я и 2-я Западные армии, избежав окружения и разгрома, встретились под стенами Смоленска. Впереди их ждало Бородинское поле.