Осада Херсонеса. Миниатюра из Радзивилловской летописи
В качестве конечной войны выбор Херсонеса был идеален. Город находился далеко от Константинополя, сообщение со столицей осуществлялось только по морю, поэтому императоры Василий и Константин не могли быстро послать подкрепление осажденному гарнизону. С другой стороны, театр боевых действий был не сильно удален от Киева и в случае необходимости Владимир мог попытаться наладить снабжение войск. Момент для войны с Византией был выбран очень удачно, начиная с 987 г. Империю сотрясал новый мятеж Варды Фоки. Провинции одна за другой переходили под его власть, императорские полководцы на полях сражений терпели поражения и готовились к наступлению Фоки на Константинополь. Всё это Владимир учитывал при подготовке к грядущему противостоянию.
Главной проблемой для Владимира и его воевод был сам Херсонес. Город располагался на юго-западе Тавриды, на высоком и скалистом мысу. Полуостров, где был построен Херсонес, далеко выдавался в море и с трех сторон был окружен водой, что делало сложным одновременную атаку нескольких направлений. Городские укрепления удачно вписывались в рельеф местности, что значительно усложняло задачу для идущих на штурм войск. Оборонительная система Херсонеса формировалась на протяжении столетий, со времен античности. Общая протяженность городских укреплений достигала 3,5 км (166, 279). Толщина стен византийского Херсонеса местами доходила до 4 м (136, 109), высота была свыше 6 м (136, 114). Кроме цитадели с напольной стороны была возведена протейхизма – передовая стена, прикрывающая главную линию городских укреплений. Это было мощное оборонительное сооружение, построенное в лучших традициях инженерной мысли ромеев. Херсонес был мощной крепостью, у которой было лишь одно уязвимое место – недостаток воды. В черте города было несколько колодцев и цистерн, но этого было явно недостаточно на случай длительной осады. Резервуар, откуда шло снабжение Херсонеса водой, находился за городом, керамические трубы водопровода проходили под землей, в случае их обнаружения противником горожане были обречены страдать от жажды. Несмотря на это, захватить Херсонес можно было только при наличии боеспособного флота, способного установить блокаду с моря и помешать доставке подкреплений и припасов осажденному гарнизону. Как показали события 941 г., у русских на море не было шансов против ромеев, поэтому перед киевским князем стояла очень сложная задача.
В апреле 988 г. великокняжеская рать на ладьях спустилась к устью Днепра, вышла в Русское море и направилась в сторону Тавриды. Достигнув полуострова, флотилия Владимира направилась на юг, проплыла мимо Херсонеса и вошла в расположенную недалеко от города бухту: «и ста Володимер об оне поле града в Лимени, дале града стрелища единого» (114, 78). Судя по всему, речь идет об узкой и длинной Стрелецкой бухте, которую летописец называет «Лиман». Здесь высадились княжеские полки и дружины. Можно предположить, что на «расстоянии полета стрелы» находились лишь передовые посты русской рати, устраивать лагерь в опасной близости от стен Херсонеса было опасно.
Из текста летописей следует, что русские несколько раз ходили на штурм города: «и боряхуся крепко горожане с ними, Володимер обьстоя град» (45, 74). Но атаки на город не привели к успеху. Тогда киевский князь решил запугать ромеев и отправил защитникам Херсонеса ультиматум: «Если не сдадитесь, то простою и три года» (31, 133). Это были пустые слова, ничем не подкрепленные. Если летом Владимир ещё мог наладить снабжение армии по морю, то в зимнее время навигация прекращалась, пополнять запасы было негде и нечем. Зимовать под стенами Херсонеса для русской рати было смерти подобно. Всё это Владимир понимал и поэтому ускорил подготовку к решающему штурму. По его приказу ратники повели к городу насыпь, чтобы по ней подняться на стены и башни Херсонеса. Когда вал приблизился к городу, защитники повели под насыпь подкоп и стали незаметно для противника выносить землю на городскую площадь. Насыпь сильно просела, чем больше воины Владимира насыпали вал, тем больше становилась куча земли на главной площади Херсонеса. Осада зашла в тупик, киевский князь не знал, что делать дальше. И здесь Владимиру улыбнулась удача.
Священник Анастас и варяг Ижберн решили подсказать киевскому князю, как можно взять Херсонес. С городской стены в русский лагерь прилетела стрела, с прикрепленной запиской, где было написано: «Колодцы, которые за тобою на восточной стороне, из тех вода трубами идет во град, прекопав, отними». Прочитав текст, Владимир воскликнул: «Если сбудется сие, сам здесь крещусь!» (161, 98). Ратники стали копать в указанном месте, нашли трубы и отвели воду. Херсонес продержался ещё три месяца, но поскольку помощи из Константинополя не было, командир гарнизона и местный правитель решили сдать город. Владимир Святославич вступил в Херсонес, «по трех месяцех взял град» (152, 474). Всего осада длилась полгода: «и стоял Владимир шесть месяцев» (152, 451).