Latem 1579 roku, podczas wojny inflanckiej, wielki książę litewski i król Polski Stefan Batory zebrał znaczne wojska. Na jednej z prowadzonych rad proponowano udać się na Pskov (właśnie taki wariant działania zakładał Iwan Groźny, wysyłając tam duże wojsko). Ale król Rzeczypospolitej podjął inną decyzję, nakazał udać się na Połock. Jego decyzja była uzasadniona tym, że właśnie z tej strony istnieje bezpośrednie zagrożenie ze strony Moskali dla WKL i Wilna.
Przed założeniem Kompanii wojskowej 17 lipca w Disnie Stefan Batory zorganizował przegląd wojsk. Armia licząca około 43 000 ludzi składała się z: 12 000 jeźdźców wystawionych przez litewskich panów i 15 000 jeźdźców Litewskiej milicji dowodzonej przez Mikołaja Radziwiłła Rudego, 6 000 kawalerii polskiej, 2400 piechoty i 2600 jeźdźców najemników węgierskich pod dowództwem Kaspara Bekesza, 2500 jeźdźców siedmiogrodzkich pod dowództwem Chrystusa Batorego (brata Stefana Batorego) i 2000 piechoty Niemieckiej.
Początkowo do Połocka Batory wysłał Radziwilla z wojskami litewskimi i Bekesza z Węgrami, a sam poszedł za nimi. Radziwiłł Rudy spieszył się, aby jak najszybciej zająć wszystkie drogi do Połocka, aby nie dać moskiewskiemu garnizonowi możliwości otrzymania posiłków. Jednak dwa dni przed zbliżeniem się wojsk litewskich do Połocka do miasta przybyła pomoc. Radziwiłł wysłał do miasta list z propozycją poddania się. W odpowiedzi moskowici, chcąc pokazać swoją siłę, wyszli za mury miasta i ustawili się w porządku bojowym, ale pierwszy litewski atak konny wypędził wrogów z powrotem za mury.
Połock był trudny do zdobycia nawet dla licznej armii. Moskiewski garnizon liczył 6000 ludzi pod dowództwem księcia Wasilija Tełatewskiego i Dmitrija Szczerbatego. Garnizon miał do dyspozycji dobrą artylerię, duże zapasy broni, prochu i prowiantu. Połock był również otoczony wysokim drewnianym murem,a głównymi twierdzami były dwa zamki wysoki i strzelec. Główny, wysoki zamek, stał u zbiegu rzek Poloty i Dźwiny i był pokryty miejskim posadem – Polotje. Moskowici dobrze wzmocnili oba zamki wysokimi wieżami, szerokimi murami i głębokimi fosami, które zostały całkowicie zalane wodą po minionych deszczach. Problemem dla szturmujących były należące do systemu obrony miasta pobliskie zamki: Krasne, Sitna, susza i Kazjan, z których można było dokonywać wypadów na tyły oblegających. Radziwiłł wcześniej zadbał o usunięcie tego problemu, jeszcze przed przybyciem głównych sił. Zamek Kazjan i Sitna zostały zajęte, a pozostałe zablokowane, w tym Zamek Sokol, gdzie osiedliło się nie mogące przedostać się do Polocka posiłki wysłane przez Iwana Groźnego na czele z wojewoda Borysem Szejnem.
Główne siły dowodzone przez Stefana Batorego zbliżyły się do Połocka 10 sierpnia 1579 roku. I wtedy wojewoda moskiewski, dla zastraszenia, nakazał wyprowadzić wszystkich jeńców Litwinów i Polaków na mury miasta, a na oczach oblegających wydał rozkaz ich zabicia. Zwłoki kilku Litwinów zostały następnie przybite do kłód i wyrzucone do Dźwiny. Jednak zamiast strachu taki czyn zrodził tylko nienawiść, gniew i gwałtowne pragnienie zemsty.
Od drugiego dnia oblężenia rozpoczął się ostrzał z armat miejskiego posadu-Polotje. Moskowici, uznając, że nie będą w stanie obronić posadu, spalili go i wycofali do górnego zamku. Po ponownym oględzinach fortyfikacji Połocka Batory rozkazał zająć spalony Posad i prowadzić stamtąd ogień z armat, ponieważ z tej strony zamek był mniej chroniony, a ponadto Rowy były tam płytsze niż w innych miejscach. Ale ten plan nie zadziałał, ponieważ rdzenie przebijały drewniane ściany zamiast je niszczyć. Nie udało się też podpalić murów z powodu codziennych deszczy. Wszystkie próby śmiałków, którzy przepłynęli przez Polotę i próbowali podpalić mury, zakończyły się niepowodzeniem. Moskale witali ich ogniem z armat, a na głowy tych, którym udało się podbiec pod mury, leciały kamienie i ciężkie kłody. Niektórym, którzy osiągnęli cel, udało się rozpalić ogień, ale obrońcy twierdzy natychmiast zalali go wodą.
Moskowici desperacko walczyli, strzelając z armat, a nawet dokonywali nocnych wypadów. Jedna z nich była fatalna dla niemieckiej piechoty. Pewnego dnia nie wiadomo z jakich powodów, czy to z powodu koszonej przez szeregi żołnierzy czerwonki, czy z powodu utraty czujności wszyscy się upili. Moskale nie zmarnowali swojej szansy i wykorzystali nieostrożność Niemców, dokonali szybkiego najazdu i wzięli do niewoli dużą liczbę śpiących żołnierzy. Tych, którzy zostali schwytani, czekał straszny los, część z nich została ugotowana żywcem, a druga część Niemców przebiła ramiona i, wyciągając liny przez rany, powieszono na ścianach.
Deszcze nie mogą trwać wiecznie, a pewnego dnia ustały, wyszło słońce, a śmiałkowie ponownie próbowali podpalić wysuszone mury zamku. Wśród tych odważnych znalazł się pewien mieszczanin ze Lwowa, udało mu się pod kulami zbliżyć do murów i podpalić wieżę. W ten sam sposób wrócił do obozu. Za ten czyn Stefan Batory nadał mu szlachectwo i nazwisko Polubiński.
Z płonącej wieży ogień czołgał się na mury. Sytuacja stawała się rozpaczliwa, ktoś próbował poddać się Węgrom, ale został natychmiast zabity. Węgrzy rozprawili się z 10 moskiewskimi wysłannikami, którzy zeszli z murów, aby negocjować kapitulację miasta. Węgierscy najemnicy nie korzystali z dobrowolnej kapitulacji, ponieważ chcieli włamać się do miasta, aby splądrować i zabrać jak najwięcej dobra. Pragnienie zysku w rezultacie odegrało okrutny żart z Węgrami, nie czekając na rozkaz swojego dowództwa, rzucili się przez płonący Mur do zamku, ale Moskali, gdy mur płonął, zdołali wykopać fosę i odepchnąć napastników z armat.
Następnego dnia, na rozkaz Batorego, Węgrzy zdobyli umocniony nocą przez Moskali wał naprzeciwko spalonego muru. Zbudowali tam szańce (małą ziemną fortyfikację), a kilku śmiałków podpaliło pobliską wieżę. Sytuacja obrońców stała się prawie beznadziejna, flanki były odsłonięte, a zamek można było ostrzelać ze wszystkich stron bezpośrednim ostrzałem.
Strzelcy i bojarskie dzieci zdecydowały się poddać 30 sierpnia 1579 roku, stawiali opór tylko wojewoda i biskup cypryjski, raczej ze strachu przed gniewem Iwana Groźnego za poddanie miasta. Postanowili wysadzić zamek, ale ich żołnierze nie pozwolili im tego zrobić. Po oczyszczeniu miasta ze zwłok Stefan Batory uroczyście wjechał do Połocka. Na cześć zwycięstwa nakazał zbudować w mieście świątynię Katolicką, a Sobór Sofijski pozostawić prawosławnym. Również odrębnym dekretem ogłosił pełną wolność wyznania prawosławnego na Litwie i na tych ziemiach, które wyzwoli lub odbije od Iwana Groźnego. Poddanych żołnierzy moskiewskich, którzy nie chcieli przejść do służby w wojsku Rzeczypospolitej, Stefan Batory, choć nie od razu, ostatecznie wypuścił.
Zwycięzcy otrzymali dobre trofea: 38 armat, duże zapasy broni, prochu i prowiantu. Węgierscy i polscy najemnicy, niestety, nie otrzymali bogatego łupu, ponieważ 6 lat wcześniej Iwan Groźny nakazał wycofanie prawie całego skarbu i innych bogactw z Połocka. Wyzwolone miasto nie było już tym, o którym Sekretarz Stefana Batorego Reinhold Heidenstein napisał tak: "nie wierzyłem, że kiedyś to miasto swoim bogactwem przekroczyło samą stolicę Litwy Wilno".