В тот же день, когда с городских стен увидели приближающиеся королевские войска, произошли первые бои псковичей с окружающими город частями неприятельской армии. Чтобы помешать противнику тесно обложить крепость, воеводы организовали несколько вылазок, поддержанных огнем с крепостных стен. Инициатива имела успех. Уже в первый день своего появления под Псковом противник потерял много людей, а главное, вынужден был разбить свой лагерь далеко от города, за естественными укрытиями. Свою ставку король обосновал сначала в непосредственной близости от города, на месте сожженного его защитниками села Любатова, что на московской дороге, и установил, было, шатер близ храма Николая Чудотворца. Но место оказалось слишком опасным, снаряды свистели у короля над головой, рядом падали русские ядра, вокруг рвались бомбы. Не успев устроиться, Баторий велел перенести ставку за речку Череху, где спрятал свой лагерь за прибрежными холмами. Вообще говоря, такой искусный артиллерийский обстрел королевского лагеря из крепости и, судя по интенсивности огня, обилие у гарнизона снарядов, стали для Батория неожиданностью.
Несколько дней противник устраивал свой лагерь, все это время было относительно тихо, русские его не беспокоили, видя, что прямой угрозы крепости пока нет. Наконец, король велел копать от лагеря к городу траншеи и продвигать свои позиции ближе к крепости. Осажденные тотчас открыли огонь и продолжали его беспрерывно, кроме того, начали беспокоить осаждающих частыми вылазками, не давая развернуть осадные работы. Еще больше таким работам препятствовал твердый каменистый грунт, так что в первых числах сентября король был вынужден прекратить работы, установить батареи осадных орудий в местах, куда удалось продвинуться, и приняться за обстрел крепости.
С первых дней осады противник опытным глазом сумел по достоинству оценить мощь псковских укреплений, а большое расстояние, с которого ввиду невозможности продолжать земляные работы приходилось вести обстрел, предопределил и его низкую эффективность. Артиллерийский парк армии Батория насчитывал 240 орудий всех калибров, но осаждающие испытывали большой недостаток пороха, поскольку большое его количество из-за небрежности хранения взорвалось еще в начале похода. А потому командование противника приняло решение не расточать огонь по всему периметру крепости, а сосредоточить его на одном месте русской обороны, разрушить там укрепления, после чего взять город приступом. Все свои усилия противник решил направить против юго-западной оконечности Окольного города, выходящей острым углом к реке Великой, где стояла башня Покровская. Одна сторона этого угла омывалась рекой, другая выходила на открытое пространство и вела к северо-востоку. Самый край этой стороны от угловой Покровской башни до соседней с ней башни, именуемой Свиной, противник и избрал целью своего главного удара.
Обозначив цель, неприятель возобновил попытку продвинуть свои позиции ближе к крепости, поведя их узким коридором в одном, строго намеченном направлении. На этот раз инициатива имела успех. Не прекращавшиеся ни днем, ни ночью работы, когда продвигаться противнику приходилось зигзагами, заняли пять суток, но в результате осаждающие подвели траншеи в непосредственную близость к городскому рву. Здесь король велел установить передовую батарею из 20 орудий самого крупного калибра. Все эти старания не ушли от внимания осажденных. С городских стен было хорошо видно, что предпринимает неприятель, отсюда нетрудно было разгадать его замыслы. Защитники, как могли, мешали неприятельским усилиям, огонь с крепостных валов не затихал во все время осадных работ. Но главная реакция псковичей на королевскую инициативу была той, что они, распознав выбранное противником направление главного удара, в этом месте позади внешней каменной стены насыпали земляной вал и поставили на него еще одну, внутреннюю, бревенчатую стену.
Наконец, командовавший артиллерией осадной армии польский воевода Юрий Угровецкий доложил королю о полном завершении подготовительных работ и готовности осадной артиллерии начать массированную бомбардировку намеченного узла обороны города. Баторий тотчас распорядился начинать обстрел. 6–7 сентября Псков подвергся жесточайшей бомбардировке. Огонь не стихал более суток, и, как и предполагалось, больше других он был сосредоточен против юго-западной оконечности Окольного города, где противник намеревался нанести главный удар. На вторые сутки обстрела оказалась полностью разрушенной Покровская башня, а Свиная — наполовину. Отвалилось и 24 сажени крепостной стены. Пользуясь моментом, король дал сигнал к общему штурму.
Бой 8 сентября стал самым жестоким и упорным в знаменитой псковской эпопее. Под трубные звуки с распущенными знаменами литовская, немецкая и венгерская пехота пошла на приступ. Сзади ее готова была поддержать польская конница. Несмотря на убийственный огонь защитников, противник преодолел расстояние от своего стана до псковских стен, занял развалины разрушенных башен и устремился к образовавшимся в стене проемам. Здесь он с изумлением обнаружил другую линию обороны — деревянную стену на земляном валу, поставленную внутри крепости. С нее атакующих встретил густой ружейный огонь, тучи стрел и камней. Не считаясь с потерями, наступающие упорно пытались преодолеть и этот новый рубеж обороны. Их сбивали пиками, рогатинами, бердышами, саблями, поражали выстрелами. Королевская артиллерия замолчала. Пушкари не могли поддержать натиск огнем, боясь зацепить своих. Тут как никогда на руку защитникам сыграл дефицит в королевской армии пороха. Обычно в таких ситуациях наступающая сторона переносит огонь своей артиллерии на внутренность крепости, стремясь зажечь городские постройки. Тогда защитникам приходится не столько бороться с атакующими, сколько с полыхающими позади них пожарами. Так было, как мы помним, во всех прежних операциях Батория. Но здесь под Псковом, когда в осадной армии на счету был каждый пуд пороха, расходовать его противнику приходилось только непосредственно на разрушение укреплений и против живой силы осажденных. Потому-то едва только стороны сошлись в ближнем бою, артиллерия осаждающих потеряла возможность поддерживать своих, она тотчас же вынуждена была вообще прекратить огонь. А тем временем с городских стен орудия псковичей, напротив, громили задние ряды наступающих.
Был самый напряженный момент сражения, когда штурмующие прочно закрепились на развалинах, толпами лезли на соседние башни, ломая сопротивление их защитников. Тогда Шуйский приказал взорвать пороховой погреб, оставшийся под развалинами Свиной башни, заранее отведя от нее уцелевших защитников. Мощный взрыв потряс место жестокого побоища. На воздух взлетели развалины Свиной башни и части прилегающей к ней стены, густо усеянные наступающими. На руку защитникам сыграло и то, что по чистой случайности взрыв оказался направленным в противную от них сторону. Обломки башни и стены засыпали толпы штурмующих, некоторые камни долетели даже до королевского лагеря. Осаждающие оцепенели от неожиданности, натиск их захлебнулся. Теперь Шуйский, пользуясь минутой, бросил своих воинов в контратаку. Те устремились в проемы, вмиг очистили их от неприятеля, выбили его отовсюду, где он успел, было, закрепиться, гнали и рубили до самого его лагеря, взяли много пленных и оружия. Дольше, чем в других местах, противник держался на занятых развалинах Покровской башни, но, наконец, бежал и оттуда. Когда закончилась эта страшная битва, была уже ночь. В этот кровавый день противник только убитыми потерял пять тысяч своих людей. Потери защитников составили девятьсот человек погибшими и более полутора тысяч ранеными. Это была большая победа псковичей, крупный успех русского оружия после многих лет неудач. Король был явно раздосадован, но неудача не сломила его, он оставался полон решимости во что бы то ни стало добиться победы над Псковом. Надо отдать должное Баторию, он был бойцом, и поражение при штурме 8 сентября только привело его в азарт.
Осада продолжалась. Оправившись от поражения 8 сентября, противник первым делом снарядил обоз и послал его в Ригу за порохом. Ждать пришлось долго, а главное, пороха снова привезли немного. То ли в Риге его больше не оказалось, то ли тамошние власти, как и большинство на польско-литовской стороне, тяготясь продолжением войны и стремясь любыми средствами способствовать ее прекращению, саботировали поставку пороха в королевский лагерь. Но даже этого доставленного из Риги пороха хватило противнику для того, чтобы он решился прибегнуть к минной войне. Осаждающие сумели в нескольких местах подвести к городской стене подкопы, но псковичи вовремя обнаружили опасность и первыми подорвали устроенные неприятелем минные галереи. Было еще несколько попыток отчаянных штурмов, но все они были отбиты. Особенно запомнился бой 28 октября, когда осаждающие вплотную подошли к Покровским водяным воротам, что с западной стороны города, выходящей к Великой близ Покровской башни, и попытались обрушить стену, и бой 2 ноября, когда на Великой уже стал лед, и король повел атаку со стороны реки. Приступ 2 ноября стал последним покушением неприятеля на русскую крепость, более он не пытался штурмовать город, ограничившись осадой. Но длительное стояние под Псковом обернулось для польско-литовского воинства большими осложнениями. Грянули морозы, началась зима, к которой неприятельская армия оказалась совершенно неготовой. Королевские воины коченели от холода, замерзая в своих шатрах. Еще более серьезным ударом по противнику стал голод. Цены на продукты питания в осадном лагере поднялись на неслыханную высоту, а платить за них было нечем. Казна опустела, так что войску перестали выплачивать жалованье. Фуражиры в поисках пропитания уходили верст за сто и больше, но и подвоз продовольствия издалека стал тоже большой проблемой, поскольку к началу зимы бывшие во вражеской армии кони от бескормицы пали почти все до единого. Уже с ноября войско неприятеля стало на глазах таять. Первыми покинули осадный лагерь наемники. Под предлогом поисков пропитания по ближайшим окрестностям разбредались и польско-литовские воины, обратно, как правило, не возвращавшиеся. В довершение всего в декабре месяце оставил свою армию и король, уехав в Польшу добывать средства для дальнейшего ведения войны. Ему предстояло в очередной раз убеждать сейм в необходимости новых пожертвований. Во главе осадного лагеря под Псковом Баторий оставил своего лучшего воеводу Замойского.