Баторий приказал рыть окопы и строить шанцы, расставил пушки и приказал обстреливать Полоцк. Огонь орудий был сосредоточен на Стрелецком замке и Заполотье, с утра до вечера королевская артиллерия била по городу. В этой обстановке воеводы вывели войска из Стрелецкого замка и Заполотья, чтобы все силы сосредоточить на обороне Верхнего замка. 12 августа наемники выдвинули пушки на берег Полоты и начали бомбардировать Верхний замок калеными ядрами. С другой стороны к крепости вели подкопы германские ландскнехты. Когда поджечь город не удалось, венгерский военачальник Бекеш обратился к воинам с призывом идти на противоположный берег реки и поджечь стены факелами. Защитники города встали насмерть, с боевых площадок на венгров скатывали огромные бревна, бросали тяжелые камни. Женщины, старики и дети носили на стены ведра с водой, заливали огонь, обливали кипятком венгерских наемников. Воины гарнизона под вражеским обстрелом спускались на канатах с боевых площадок и лили воду на пылающие у подножия стен костры. Непрекращающиеся дожди помогали осажденным и мешали разгореться большому пожару, рвы были залиты водой, земля превратилась в грязь, королевский лагерь оказался затоплен. У поляков и литовцев начались проблемы с продовольствием, дороги развезло, а засевшие в Соколе русские воеводы посылали конные отряды на перехват вражеских обозов. Ситуация сложилась крайне опасная, в королевском войске пошли разговоры об отступлении. 29 августа все изменилась, дожди прекратились и Баторий убедил венгров атаковать Верхний замок. С факелами и вязанками хвороста в руках солдаты пошли в атаку и подожгли стены. Пожар бушевал целый день и уничтожил большой участок стены. Опасаясь удара Шеина и Шереметева, король покинул лагерь и перекрыл войсками дорогу на Сокол. Вечером венгры без команды пошли в атаку, но русские за сгоревшей стеной выкопали ров, установили за ним пушки и открыли по врагам стрельбу. В контратаке стрельцы и дети боярские опрокинули венгров и погнали их в лагерь, лишь вмешательство польской пехоты канцлера Замойского спасло положение. Баторий был вынужден вернуться и лично руководить сражением, но едва не погиб от шального вражеского ядра. Русские всю ночь били из пушек по неприятельскому лагерю, где поляки и венгры обвиняли друг друга в провале штурма. На следующий день после полудня сражение возобновилось, венграм удалось подняться на холм и поджечь одну из башен. Защитники попытались потушить огонь, но понесли большие потери от стрельбы противника. Сильный пожар бушевал всю ночь, за это время наемники выкопали окопы и установили пушки прямо напротив рва. В этот критический момент стрельцы вышли из повиновения и заявили о желании сдать город. Воеводы воспротивились этим намерениям, только Петр Волынский поддержал требования стрельцов. Попытка епископа Киприана и сохранивших верность военачальников взорвать пороховые погреба, была предотвращена простыми ратниками. Когда владыка и воеводы заперлись в Софийском соборе, Петр Волынский отправился к Баторию и договорился о сдаче города на условиях свободного выхода воинов гарнизона. Епископ Киприан и воеводы были схвачены венграми и поляками, 1 сентября Стефан Баторий въехал в завоеванный Полоцк.
Информация, что город был сдан королю воеводой Волынским и стрельцами, присутствует в летописях: «
98. Оборона Великих Лук (25 августа – 5 сентября 1580)