Для наступления на Севастополь немецкое командование выделило два корпуса — LIV (22, 132, 50 и 24–я пехотные дивизии) и XXX (72–я и 170–я пехотные дивизии и румынская горнострелковая бригада). Штурмовать город предполагалось по двум направлениям. LIV армейский корпус должен был наступать из района Дуванкоя вдоль долины р. Бельбек к северо-восточной оконечности Северной бухты. XXX армейский корпус должен был нанести удар из района юго-восточнее Чоргуни вдоль долины реки Черная. На румынский горнострелковый корпус была возложена задача борьбы с партизанами (4–я горнострелковая бригада) и охрана побережья (8–я кавалерийская бригада).
Основной проблемой обороняющей Севастополь Приморской армии, как и любых войск, решающих оборонительную задачу, было выявление направления главного удара противника. Бывший начальник штаба армии Н.И. Крылов вспоминал:
«И 17 декабря, не располагая, к сожалению, достаточными разведданными, мы немало ломали голову над тем, какое из направлений вражеских атак следует считать главным. Вырисовывалось это постепенно»[10].
«Вырисовываться» направление главного удара начало уже после того, как загремела артиллерия.
На рассвете 17 декабря немецкое наступление началось после сильной артиллерийской подготовки. 50–й и 24–й пехотным дивизиям, наступавшим с востока в направлении на бухту Северную, не удалось продвинуться в поросшей почти непроходимым кустарником гористой местности. Наиболее ожесточенные бои развернулись на высотах южнее и севернее долины р. Бельбек, в стыке 3–го и 4–го секторов обороны города, где наступали 22–я и 132–я пехотные дивизии. В ходе ожесточенных четырехдневных боев 22–й дивизии удалось потеснить наши войска на 4–6 км. На опасное направление были брошены резервы: 7–я бригада морской пехоты и 40–я кавалерийская дивизия. Однако решила исход сражения, так же как под Киевом в августе 1941 г. и под Москвой в начале декабря 1941 г., «перманентная мобилизация». Вводом в бой 388–й стрелковой дивизии наступление противника было остановлено. Однако война XX столетия требовала большого расхода боеприпасов. При сохранении темпов расхода боеприпасов, какой наблюдался 17 декабря, в распоряжении защитников оставалось снарядов только на одни сутки. Потери Приморской армии за четыре дня боев составляли свыше 5 тыс. человек.
Нехватка боеприпасов и ввод в бой находившейся в резерве 388–й стрелковой дивизии побудили командование дополнительно усилить гарнизон Севастополя. Утром 20 декабря адмирал Ф.С. Октябрьский поставил крейсерам «Красный Кавказ» и «Красный Крым», эскадренным миноносцам «Бодрый» и «Незаможник» взять на борт свежесформированную 79–ю стрелковую бригаду полковника А.С. Потапова и доставить ее в Севастополь. На транспорте «Чапаев» было доставлено 15 тыс. снарядов и 27 тыс. мин. При этом адмирал Октябрьский предупредил, что на «Чапаев» был погружен весь боезапас, имевшийся на складах в Новороссийске. Вслед за стрелковой бригадой в Севастополь была доставлена 345–я стрелковая дивизия подполковника Н.И. Гузя и 125–й отдельный танковый батальон (25 танков Т–26). Постоянная подпитка резервами требовалась Приморской армии, поскольку у нее уже практически не было места для маневра. Захваченные противником позиции требовалось возвращать контратаками, на которые к тому моменту были способны только свежие соединения.
Предосторожность, из-за которой пришлось отложить планировавшуюся в это же время Керченско-Феодосийскую десантную операцию, оказалась оправданной. 21 декабря немцы продолжали наступление, стремясь прорваться из района Камышлы к платформе Мекензиевы горы, а также 132–й пехотной дивизией вдоль долины р. Бельбек. Вновь прибывшие 79–я бригада морской пехоты и части 345–й стрелковой дивизии 22 декабря контратаковали во фланг наступавшую группировку противника и восстановили положение.
Отсутствие в Крыму значительных сил немецкой авиации позволило участвовать в отражении штурма Севастополя кораблям Черноморского флота. С 21 декабря линейный корабль «Севастополь», крейсер «Красный Крым», лидер «Харьков» и эскадренный миноносец «Бодрый» начали систематическую поддержку войск Приморской армии артиллерийским огнем, а с 22 декабря огонь вели уже семь кораблей (два крейсера, два лидера, три эскадренных миноносца), которые выпустили в общей сложности более 1600 снарядов. Корабли постоянно сменяли друг друга, поскольку основной целью их прибытия в Севастополь была доставка боеприпасов. Например, 29 декабря 1941 г. огонь по немецким войскам вел второй линейный корабль Черноморского флота «Парижская коммуна» и новейший легкий крейсер «Молотов». До 29 декабря по боевым порядкам противника ежедневно вело огонь от трех до пяти кораблей, выпустивших за это время свыше 5600 снарядов калибром от 130 до 305 мм.