В результате успешно проведенных операций по ликвидации острогожско-россошанской и воронежско-касторненской группировок противника к началу февраля 1943 г. в его обороне на курском и харьковском направлениях образовалась брешь шириной почти в 400 км. Это подтолкнуло советское командование к решению нанести на этом участке мощный удар, разгромить основные силы немецкой группы армий «Б», освободить город Харьков, а затем и весь харьковский промышленный район.
Основная роль в битве за Харьков отводилась войскам Воронежского фронта (38-я, 40-я, 60-я, 69-я общевойсковые, 3-я танковая и 2-я воздушная армии) под командованием генерал-полковника Ф. Голикова. Им противостояли до 15 пехотных и танковых дивизий 2-й немецкой армии и оперативной группы «Лани».
Решительное наступление
2 февраля части 69-й и 3-й танковой армий Воронежского фронта при содействии соединений 6-й армии Юго-Западного фронта перешли в наступление. На следующий день к операции присоединились 40-я и 60-я армии. При содействии частей 13-й армии Брянского фронта 60-я армия прорвала оборону противника на реке Тим. К 6 февраля части этой армии подошли к Курску и обошли город с севера и юга. Утром 8 февраля Курск был освобожден.
Тем временем 40-я и 69-я армии сломили сопротивление германских частей на рубеже реки Оскол и, развивая наступление в юго-западном направлении, начали обходить Харьков с двух сторон. 7 февраля соединения 40-й армии освободили Корочу, 9 февраля — Белгород и к 13 февраля вышли к северо-западным окраинам Харькова. На следующий день с северо-востока к городу подошли передовые подразделения 69-й армии, а с юга — 3-я танковая армия.
Освобождение Харькова
15 февраля войска 40-й, 69-й и 3-й танковой армий взяли город в кольцо и начали штурм. Несмотря на ожесточенное сопротивление численно превосходящего противника, днем следующего дня город Харьков был освобожден. Дальнейшее наступление соединений Воронежского фронта было остановлено контрнаступлением немецких войск против Юго-Западного фронта.
Немецкое контрнаступление
По планам германского командования предусматривалось разгромить выходившие к Днепру войска Юго-Западного фронта и отбросить их за реку Северский Донец, затем осуществить удар по войскам Воронежского фронта в районе Харькова и вновь захватить Харьков и Белгород. После этого намечалось встречными ударами от Белгорода и от Орла в общем направлении на Курск нанести поражение действовавшим в этом районе войскам Красной армии. Для осуществления плана контрнаступления германское командование выделило созданную 13 февраля 1943 г. группу армий «Юг» (1-я и 4-я танковые армии, оперативные группы «Кемпф» и «Холлидт») под общим командованием генерал-фельдмаршала Э. Манштейна. К началу контрнаступления эта группировка имела в своем составе 27 пехотных и 13 танковых и моторизованных дивизий. Поддержку с воздуха обеспечивали части 4-го воздушного флота.
19 февраля войска группы армий «Юг» перешли в контрнаступление против войск правого крыла Юго-Западного фронта. Под напором противника ослабленные в предыдущих боях части фронта были вынуждены к 3 марта отойти к реке Северский Донец, оголив тем самым левое крыло Воронежского фронта, на котором действовали 40-я и 3-я танковая армии. В связи с этим командование отдало приказ войскам Воронежского фронта остановить наступление и перейти к обороне.
Второй этап в битве за Харьков
Тем временем германское командование провело перегруппировку сил, направив против частей левого крыла Воронежского фронта ударную группу в составе 4-й танковой армии и оперативной группы «Кемпф». 6 марта германские танки нанесли мощный удар встык 69-й и 3-й танковых армий и прорвали советскую оборону. К 10 марта разрыв между двумя советскими армиями достиг ширины в 60 км. В отсутствие резервов командование Воронежского фронта не сумело своевременно ликвидировать прорыв, и немцы ввели в него армейский корпус «Раус».
К 14 марта германские войска полностью окружили Харьков. Расположенные в городе советские части были вынуждены оставить город и прорываться из окружения. 17 марта они отошли на левый берег Северского Донца. Германские части, продолжая наступление, обошли Белгород с запада и юга и 18 марта захватили город. Дальнейшее их продвижение к 25 марта было остановлено на рубеже Краснополье—Белгород и далее по реке Северский Донец до Чугуева. При этом войска Воронежского фронта, ведя оборонительные бои, отошли от ранее занимаемых позиций на 100—150 км.