С утра 5 (17) августа началась ружейная и артиллерийская перестрелка, длившаяся до 14 часов. Наполеон сначала тешил себя мыслью, что русские попытаются выйти на открытую позицию перед городом, в то же время не спешил начинать штурм, намереваясь втянуть русских в большое сражение, но затем убедился, что они вновь отступают (ему доложили о движении Багратиона), и он решил взять Смоленск обходным маневром и попытаться разъединить русские армии. Однако французы не смогли быстро найти броды на Днепре и поэтому вынуждены были предпринять фронтальную атаку. Штурм начался около 16 часов. Вперед пошли корпуса М. Нея, Л. Н. Даву, Ю. Понятовского. Сначала они вытеснили русских из Красненского, Мстиславского и Рославльского предместий, затем, несмотря на яростные русские контратаки, к 18 часам полностью захватили все предместья левого берега, но войти в центр города им не удалось. Особым напором отличались атаки польских частей Ю. Понятовского, стремившихся на правом фланге первыми ворваться в Смоленск. Но сломить русскую оборону так и не удалось. После неудачи в общем приступе Наполеон приказал сосредоточить под стенами Смоленска огонь свыше 150 орудий, которые начали обстрел города, в результате чего возникли многочисленные пожары. Все последующие попытки атак также оказались безрезультатными. К 22 часам сражение прекратилось. Ночью на 6 (18) августа войска Дохтурова вместе со многими жителями покинули Смоленск. Наполеон 6 (18) августа готовился к новому штурму, однако уже рано утром узнал, что русские покинули Смоленск, разрушив мост через Днепр, и в 4 часа утра его части вошли в разрушенный город, в котором из 2250 домов уцелело около 350 зданий.
В ходе борьбы за Смоленск 4 – 5 (16 – 17) августа потери русских составили свыше 11 тыс. человек, среди убитых оказались два генерал–майораА. А. Скалон и А. И. Балла. Убыль в рядах Великой армии была по русским исчислениям около 14 тыс. человек, по французским данным – 6 – 7 тыс. человек, а в числе убитых оказался польский генерал М. Грабовский. Основным же итогом событий под Смоленском стал вновь срыв наполеоновских надежд на генеральное сражение, русские опять отступили.
После оставления Смоленска 1-я Западная армия отошла на Пореченскую дорогу и тем самым оказалась удаленной от 2-й Западной армии, отступавшей по Дорогобужской дороге. Опасаясь вновь оказаться отрезанным от армии Багратиона, Барклай де Толли решил соединиться с ним. Но это движение на соединение вдоль правого берега р. Днепра предстояло осуществить в опасной близости к противнику. Поэтому Барклай принял решение перейти на Дорогобужскую дорогу в ночное время. Только этим можно объяснить потерю целого дня 6 (18) августа. Войска были разделены на две колонны и арьергард. Чтобы опередить противника, к перекрестку дорог у д. Лубино был выдвинут отряд генерал–майора П. А. Тучкова (примерно 3 тыс. человек).
Тем временем в ночь на 7 (19) августа части Великой армии навели несколько переправ через Днепр (3-й армейский корпус маршала М. Нея, 8-й армейский корпус генерала Ж. А. Жюно, а также 1-й и 2-й корпуса кавалерийского резерва И. Мюрата). Сам Наполеон остался в Смоленске и поручил преследование русских этим трем высокопоставленным армейским начальникам.
Около 8 часов утра авангард Тучкова вышел на Московскую дорогу, и его командующий правильно оценил важность прикрытия этого перекрестка для судьбы всей армии – он принял решение остаться в этом месте, вопреки полученному приказанию двигаться дальше. Ранее, около 5 часов утра, у местечка Гедеоново (в двух верстах от С.—Петербургского предместья Смоленска) потерявший направление и сбившийся с дороги 2-й пехотный корпус К. Ф. Багговута и часть 4-го пехотного корпуса А. И. Остермана–Толстого столкнулись с корпусом Нея. Оказавшийся рядом Барклай де Толли приказал удерживать позицию у Гедеоново отряду генерал–майора Е. Вюртембергского. Лишь после 8 часов утра, отбив все атаки Нея, русские оставили Гедеоново после того, как все войска миновали этот опасный участок. Наполеон отдал приказание Нею продолжать атаковать русских с фронта и усилил его одной дивизией корпуса Даву. Войска Мюрата и Жюно должны были охватить левый фланг русских.