К 5 августа 1941 г. войска Южного фронта, ведя кровопролитные оборонительные бои, отступили, и части 4-й румынской армии под командованием генерала Н. Чуперка практически блокировали Одессу на суше. Оборона города была возложена на Отдельную Приморскую армию под командованием генерал-лейтенанта Г. Софронова и корабли Черноморского флота. Ожесточенное сопротивление советских войск, получивших приказ Ставки Верховного Главнокомандования любой ценой отстоять Одессу, растянуло штурм города почти на три месяца.
После упорных боев к 19 августа войска Приморской армии отошли на передовой оборонительный рубеж, находившийся в 20—25 км от города Одесса, и задержали дальнейшее продвижение румынских частей. Фланги этого рубежа, строительство которого было закончено лишь в ходе обороны, упирались в естественные преграды — Днестровский и Аджалыкский лиманы, прикрывавшиеся огнем корабельной артиллерии. Второй, или основной, оборонительный рубеж был создан в 15 км от города, третий создавался почти на линии городской черты. Кроме трех оборонительных рубежей, окружающих город, на его улицах также было сооружено около 250 баррикад.
Не очень успешное наступление
К 20 августа румынские войска прорвали советскую оборону в Восточном секторе между Куяльницким лиманом и побережьем Черного моря. Благодаря этому противник получил возможность систематически обстреливать из орудий город и часть побережья.
По распоряжению Ставки ВГК в ночь на 1 сентября в Одессу были перевезены с Кавказа десять батальонов. Полученные подкрепления позволили командованию Одесского оборонительного района, во взаимодействии с Черноморским флотом, начать операцию по возвращению утраченных позиций. 22 сентября 1941 г. по прорвавшейся в Восточном секторе группировке румынских войск был нанесен комбинированный удар.
Вынужденный отход
К концу сентября в результате успешного наступления частей группы армий «Юг» в направлении на Донбасс и Крым резко ухудшилось положение войск Южного фронта. 30 сентября Ставка приняла решение направить войска, обороняющие Одессу, на усиление армий, находящихся в Крыму. С 1 по 16 октября 1941 г. Черноморский флот провел операцию по эвакуации войск на Крымский полуостров. За эти дни на транспортных и боевых кораблях было перевезено около 86 тыс. солдат и офицеров и до 15 тыс. гражданских лиц. Вечером 16 октября румынские части заняли Одессу. По сведениям советского командования за дни штурма города румынские войска потеряли около 160 тыс. солдат и офицеров, 200 самолетов, до 100 танков.