В сентябре-октябре 1941 года проходили бои, получившие в немецкой литературе название «Сражение у Азовского моря» . Армии советского Южного фронта противостояли 1-й армии Манштейна и румынским частям. В конце сентября 1941 года в ходе контрнаступления им удалось разбить севернее Мелитополя несколько румынских частей, из-за чего немцам пришлось закрывать прорыв частями, предназначенными для штурма Крыма. В результате был сорван быстрый захват Севастополя и организована его оборона частями Приморской армии, эвакуированной из-под Одессы. В свою очередь, немецкие войска, бросив в бой 1-ю танковую армию перешли в наступление в начале октября, и прорвав советскую оборону, окружили 18-ю армию Южного фронта восточнее Мелитополя. Более 100 тысяч солдат и офицеров попало в плен. Командующий армией генерал-лейтенант А. К. Смирнов погиб. Было потеряно 212 танков и 672 артиллерийских орудия. Сам город был взят 6 октября частями 11-й армии.
Освобожден город был 23 октября 1943 года войсками Южного (с 20.10.1943 — 4-го Украинского фронта) в ходе Мелитопольской операции.