Второе сражение под Полоцком произошло 18 (6) — 20 (8) октября 1812 года между русским корпусом Витгенштейна, оборонявшим Петербург, и баварским корпусом французского маршала Сен-Сира. 15 октября корпус Витгенштейна был усилен хорошо вооружённым Петербургским ополчением (12 тыс. человек). К 18 октября от Риги по левому берегу Двины к Полоцку должен был подойти корпус генерал-лейтенанта барона Фадея Федоровича фон Штейнгеля (1762–1831) (10 тыс. человек). С этими подкреплениями у Витгенштейна было 49 тыс. человек. Сен-Сир располагал 23–27 тыс. человек. Витгенштейн решил сделать демонстрационное нападение на Полоцк, чтобы отвлечь французов от мостов, которые он собирался навести через реку для переправы корпуса Штейнгеля. 18 октября авангард генерал-майора Михаила Дмитриевича Балка (1764–1818) в составе двух егерских полков, нескольких эскадронов и 6 пушек вытеснил французов из села Громы к востоку от Полоцка. Но французы контратаковали и оттеснили Балка. Витгенштейну пришлось отправить ему подкрепления. Основные бои завязались на правом берегу Двины, французы перебрасывали части с левого берега, что отвечало замыслу Витгенштейна. Но французы начали выдвигаться для наступления, и отвлекающий маневр постепенно превращался в большое сражение, в котором участвовал весь корпус Витгенштейна. Его основные силы наступали на французов на левом (восточном) берегу реки Полоты, протекающей через Полоцк. На правом берегу Полоты вёл бой авангард генерал-лейтенанта князя Льва (Левана) Михайловича Яшвиля (Яшвили) (1772–1836). Подошедший Штейнгель сообщил, что находится недалеко от места боя и может атаковать позиции неприятеля против Полоцка с левого берега Двины. В 4 часа дня 19 октября войска Витгенштейна заметили французов, отступающих на левом берегу Двины под натиском Штейнгеля, и стали бомбардировать укрепления Полоцка. Штейнгель был остановлен французами в 5 км от города. Ожесточённые бои происходили на единственном мосту через Полоту на северных подступах к Полоцку. Сен-Сир, видя угрозу окружения, приказал в ночь на 20 октября скрытно отступить из города на левый берег Двины. В полночь русские начали штурм Полоцка, продолжавшийся до 2 часов утра. Французы сожгли за собой мосты, 2 тыс. баварцев, не успевших переправиться, были пленены. Кроме того, около 500 пленных взял Штейнгель. Баварский корпус в 8 часов утра 20 октября сбил авангард Штейнгеля и открыл путь к отступлению. Витгенштейн отправил на усиление Штейнгеля 12 тыс. солдат под командованием генерал-лейтенанта Сазонова (1755–1823). Сам он ожидал возведения мостов через Двину. После постройки мостов корпус Витгенштейна переправился на левый берег и вместе с корпусом Штейнгеля стал преследовать Сен-Сира. В Полоцке русские захватили одну пушку и большие запасы фуража. Сен-Сир был тяжело ранен в ногу и выбыл из строя. Но основную часть своего корпуса ему далось спасти.
Сражение за Полоцк. Рисунок XIX в.
Русские потери оцениваются от 8 до 12 тыс. человек убитыми, ранеными и пропавшими без вести. Французские потери оцениваются в 8 тыс. человек, в том числе 2,5 тыс. пленными.
В результате Второго сражения под Полоцком французы лишились такого важного узла коммуникаций, как Полоцк. Наполеон вынужден был укрепить петербургское направление резервным корпусом маршала Виктора, герцога Беллюно.