Однако к вечеру ключ к обороне города был в советских руках, все попытки немцев отбить высоту были тщетны. Корпуса Приморской армии в этот день почти не продвинулись. Советское командование немедленно использовало благоприятные возможности для наращивания усилий в районе Сапун-горы. В течение ночи сюда был выдвинут 10-й стрелковый корпус генерала Г.П. Неверова.
В полосе 2-й гвардейской армии сумела продвинуться вперед 347-я стрелковая дивизия, создав благоприятные условия для развития удара в направлении Мекензиевых Гор. Поэтому Захаров дал указание в ночь на 8 мая перебросить часть сил 13-го гвардейского корпуса к правому флангу 55-го стрелкового корпуса.
К 3 часам перегруппировка завершилась, и передовые отряды начали немедленное наступление, а в 7 часов атаковали и главные силы. К исходу дня Мекензиевы Горы были взяты, и войска 2-й гвардейской достигли Северной бухты. Северная группировка противника в составе 50-й немецкой пехотной и 2-й горнострелковой дивизии румын была отсечена от своих главных сил и прижата к морю.
В полосе 51-й армии противник был оттеснен к внутреннему обводу Севастополя.
Войска Приморской армии в этот день на правом фланге силами 11-го гвардейского стрелкового корпуса также вышли к внутреннему обводу, а на левом фланге 3-й горнострелковый и 16-й стрелковый корпуса продвинулись от 2 до 6 км, завершив прорыв главной полосы обороны, овладев населенным пунктом Карань. Создались благоприятные условия для развития удара в направлении мыса Херсонес. В связи с этим по указанию командующего фронтом 19-й танковый корпус в ночь на 9 мая выводился в исходный район с задачей войти в сражение в полосе 3-го горнострелкового корпуса и развивать удар в направлении Камышевой бухты.
Поздним вечером 8 мая, получив от генерала Шернера доклад о том, что дальнейшая оборона Севастополя невозможна, Гитлер дал согласие на отступление на Херсонесские позиции и эвакуацию 17-й армии.
Начался заключительный этап борьбы. В ночь на 9 мая авиация дальнего действия нанесла удары по кораблям и транспортам противника в бухтах Северной, Камышевой, Казачьей и Стрелецкой, а также по аэродрому на мысе Херсонес. Самолеты 8-й воздушной армии ночью и утром бомбардировали и штурмовали войска, технику и узлы сопротивления.
Противник продолжал упорно сопротивляться уже не с целью удержания Севастополя, а для того, чтобы обеспечить более или менее планомерную эвакуацию войск.
2-я гвардейская армия в ночь на 9 мая силами стрелкового полка от каждой дивизии продолжала наступление, не позволяя северной группировке противника ни опомниться, ни привести свои части в порядок. В эту ночь в районе Северной косы был высажен десантный отряд в составе стрелкового батальона 387-й дивизии, который сыграл важную роль в овладении северной стороной Севастополя.
Выход советских войск на побережье Северной бухты на всем ее протяжении имел чрезвычайно важное значение. Тылы неприятельской группировки, оборонявшейся в Севастополе, сразу оказались под угрозой. Артиллерия 2-й гвардейской армии прямой наводкой била по огневым средствам, живой силе и транспортам противника в районе Южной бухты, а также в бухте Стрелецкой.
Под прикрытием огня более чем 600 орудий дивизии Захарова начали форсировать Северную бухту. В дело шло все, даже гробы: «Немцы много гробов заготовили. Вот и пустим их в дело… Прошли минута, две, и вот на волнах закачались гробы с облепившими их солдатами». Водная гладь бухты напоминала холст Босха: перемешались люди, гробы и лошадиные трупы.
«В соответствии с приказом на эвакуацию всех лошадей застрелили и сбросили в море. Они стояли в очереди, терпеливо ожидая, когда придет их час. Бухта была забита тысячами лошадиных трупов. Волны покачивали их вверх и вниз… Румыны сочли, что слишком долго убивать каждого старого друга в отдельности, поэтому они пригнали животных к обрыву и стреляли из пулеметов. Несколько часов подряд».
Армия Крейзера также продолжала наступление ночью на 9 мая специально выделенными полками, а с утра — главными силами. Соединения 1-го гвардейского стрелкового корпуса овладели Корабельной слободой, а 63-й и 10-й стрелковые корпуса к 15 часам ворвались в юго-западную часть города.
К исходу 9 мая город Севастополь был полностью освобожден советскими войсками, причем, судя по всему, город противник оставил беспрепятственно. Вот что вспоминает полковник М.И. Новичихин, бывший сотрудник разведотдела 10-го стрелкового корпуса:
«Мы вошли в Севастополь. И тут немцы осуществили такую провокацию: они распространили дезинформацию, что война окончена. Началось братание, стрельба в воздух из боевого и личного оружия. Артиллеристы расстреляли весь боекомплект, а кто стрелял из личного оружия — все патроны. Органы СМЕРШ пытались прояснить обстановку, но это удалось не сразу».
Войска Приморской армии главными силами вместе с 19-м танковым корпусом, введенным в сражение утром 9 мая, развивали наступление в направлении мыса Херсонес, куда отходили остатки 17-й армии.
На заранее подготовленном рубеже, прикрывавшем мыс Херсонес, противник оказал отчаянное сопротивление. Здесь он сосредоточил наиболее стойкие части из остатков немецких дивизий и всю наличную артиллерию — всего около 30 000 офицеров и солдат. По немецким данным, на полуострове находилось 50 000 человек. Основную оборонительную линию составляла непрерывная траншея с многочисленными ходами сообщения. Были возведены бетонные блиндажи, сосредоточены запасы боеприпасов, продовольствия и воды. Однако последний немецкий аэродром теперь полностью накрывался советской артиллерией, и самолеты Дихмана были вынуждены покинуть Крым. Торпедные катера по ночам вывозили личный состав. Общую погрузку армии планировалось осуществить в ночь с 10 на 11 мая, для чего выделялось более 190 немецких и румынских кораблей и судов. Однако поднявшийся шторм остановил начавшие движение к Крыму конвои, маломореходным судам пришлось вернуться, а эвакуацию отложить на сутки.
Попытки Приморской армии прорвать рубеж с ходу успеха не имели. Для нового штурма пришлось перегруппировать войска 51-й армии, освободившие Севастополь, в частности, 10-й стрелковый корпус. Впрочем, атаки при этом не прекращались.
Пока наземные соединения готовились к прорыву, советская авиация, а также надводные и подводные силы флота стремились сорвать эвакуацию сил противника. Самолеты вылетали для выполнения заданий непрерывно днем и ночью. 10 мая в двух милях севернее мыса бомбардировщики потопили прибывшие без истребительного прикрытия транспорты «Тотила» и «Тея», осуществлявшие погрузку войск с катеров и барж.
Из показаний пленных советскому командованию стало известно, что с 4 часов ночи 12 мая противник намеревается начать общий отход для посадки на суда. Указания Толбухина в связи с этим сводились к тому, чтобы решительной атакой не допустить эвакуации противника, уничтожить его войска или пленить их, а вражеские суда потопить в бухтах или в море.
Вечером 11 мая немецкие передовые части получили приказ отойти к пунктам посадки и обеспечить их оборону; эвакуационный флот стоял на рейде. В ночной неразберихе многие суда не нашли пунктов посадки, а многие солдаты — судов. К рассвету 12 мая на берегу оставалось около 10 000 человек. В 3 часа 1000 орудий и минометов Приморской армии и 10-го стрелкового корпуса открыли ураганный огонь (генерал Рейнгардт с остатками своей 98-й пехотной дивизии, удерживавшей центр позиции, в это время уже отчалил. Спаслись большинство бойцов 73-й пехотной дивизии и 2800 человек из 50-й пехотной. Другим повезло меньше). Вслед за этим войска атаковали никем не защищаемый «аварийный рубеж». В победной реляций указывалось, что «в короткий срок оборона была взломана», и к 7 часам утра все побережье бухт Стрелецкая, Круглая, Камышевая было занято частями 51-й армии. К 10 часам утра Приморской армией, в составе которой действовал танковый корпус, был очищен от врага мыс Херсонес.