Бои за освобождение Украины продолжались с января 1943 года по осень 1944 года. В этот период на украинской земле были сосредоточены до половины всех советских войск.
С зимы 1942-1943 годов важным военным фактором стало партизанское движение в немецком тылу . Партизаны наносили серьезный ущерб германской армии, уничтожая живую силу, взрывая склады и эшелоны, нарушая систему коммуникаций. Крупнейшими операциями стали рейды отряда Михаила Наумова по Сумской, Полтавской, Кировоградской, Одесской, Винницкой, Киевской и Житомирской областям в феврале-марте 1943 года и отряда Сидора Ковпака по Ровенской, Житомирской и Киевской областям в феврале-мае 1943 года.
В конце января 1943 года войска Юго-Западного и Южного фронтов начали наступление на Донбасс. Войска Юго-Западного фронта нанесли поражение 1-й немецкой танковой армии и освободили Северный Донбасс. 16 февраля был занят Харьков. 16 марта немцы вновь захватили Харьков, 23 августа Харьков был освобожден.
К 22 сентября части Юго-Западного фронта отбросили немцев за Днепр и вышли на подступы к Днепропетровску и Запорожью, Донбасс был освобожден. 8 сентября советские войска освободили Сталино (ныне Донецк).
В ходе Черниговско-Полтавской операции войска Центрального фронта 30 августа овладели Глуховом, 6 сентября — Конотопом, 13 сентября — Нежином и достигли Днепра на участке Лоев — Киев. Части Воронежского фронта 2 сентября освободили Сумы, 16 сентября — Ромны и вышли к Днепру на участке Киев — Черкассы. Соединения Степного фронта 19 сентября взяли Красноград, 23 сентября — Полтаву, 29 сентября — Кременчуг и подошли к Днепру на участке Черкассы — Верхнеднепровск. В итоге немцы потеряли почти всю Левобережную Украину. В конце сентября советские войска в нескольких местах форсировали Днепр и захватили 23 плацдарма на его правом берегу.
23 октября был освобожден Мелитополь. Разгромив восемь дивизий вермахта, войска Южного фронта (с 20 октября — 4-й Украинский) к 5 ноября достигли низовьев Днепра.
10 октября 1943 года войска Юго-Западного фронта приступили к операции по ликвидации Запорожского плацдарма и 14 октября овладели Запорожьем. 25 октября войска правого крыла Юго-Западного фронта (с 20 октября — 3-й Украинский) освободили Днепропетровск и Днепродзержинск.
11 октября Воронежский (с 20 октября — 1-й Украинский) фронт начал киевскую операцию. После двух неудачных попыток (11-15 и 21-23 октября) взять столицу Украины атакой с юга (с Букринского плацдарма) было решено нанести главный удар с севера (с Лютежского плацдарма). 1 ноября, чтобы отвлечь внимание противника, 27-я и 40-я армии двинулись на Киев с Букринского плацдарма, а 3 ноября ударная группировка 1-го Украинского фронта прорвала немецкую оборону. 6 ноября Киев был освобожден.
Развивая стремительное наступление в западном направлении, советские войска 7 ноября овладели Фастовом, 12 ноября — Житомиром, 17 ноября — Коростенем, 18 ноября — Овручем. 13 ноября немцы, подтянув резервы, предприняли на Житомирском направлении контрнаступление. 19 ноября они вновь захватили Житомир, 27 ноября — Коростень. Однако прорваться к столице Украины им не удалось, 22 декабря оккупанты были остановлены на линии Фастов — Коростень — Овруч.
6 декабря 2-й Украинский фронт развернул наступление под Кременчугом. 12-14 декабря были освобождены Черкассы и Чигирин. Одновременно части 3-го Украинского фронта форсировали Днепр у Днепропетровска и Запорожья и создали плацдарм на его правом берегу.
24 декабря 1943 года войска 1-го Украинского фронта начали наступление на западном и юго-западном направлениях (Житомирско-Бердичевская операция). 28 декабря они освободили Казатин, 29 января — Коростень, 31 декабря — Житомир, 4 января 1944 года — Белую Церковь, 5 января — Бердичев, 11 января — Сарны. 8 января части 2-го Украинского фронта овладели Кировоградом. 24 января 1-й и 2-й Украинские фронты развернули совместную операцию по разгрому корсунь-шевченковской группировки противника. 28 января 6-я и 5-я гвардейская танковые армии соединились у Звенигородки и замкнули кольцо окружения. 30 января был взят Канев, 14 февраля — Корсунь-Шевченковский. 17 февраля ликвидация "котла" завершилась.
2 февраля части 1-го Украинского фронта заняли Луцк и Ровно, 11 февраля — Шепетовку.
8 февраля войска 3-го и 4-го Украинских фронтов овладели Никополем, 22 февраля — Кривым Рогом.
В результате зимней кампании 1943/1944 немецкие войска были окончательно отброшены от Днепра.
В начале марта 1944 года силы трех украинских фронтов развернули масштабную наступательную операцию в полосе длиной 1,1 тысячи километров — от Луцка до устья Днепра. 20 марта были освобождены Винница и Жмеринка, 25 марта — Проскуров (ныне Хмельницкий), 26 марта — Каменец-Подольский, 28 марта — Коломыя, 29 марта — Черновцы, 14 апреля — Тернополь. Части 1-го украинского фронта произвели охват группы армий "Юг" с запада и вышли в предгорья Карпат.
Разгромив под Снигиревкой 6-ю немецкую армию, советские войска 13 марта заняли Херсон, 28 марта освободили Николаев, 10 апреля штурмом взяли Одессу, а 14 апреля вышли к низовьям Днестра и захватили несколько плацдармов на его правом берегу.
Итогом совместной операции трех Украинских фронтов в 1944 году стало освобождение Правобережной Украины, которое осуществлялось в ходе семи операций: Житомирско-Бердичевской (с 24 декабря 1943 года по 15 января 1944 года), Кировоградской (с 5 по 10 января), Корсунь-Шевченковской (с 24 января по 17 февраля 1944 года), Ровно-Луцкой (с 27 января по 11 февраля), Никопольско-Криворожской (30 января — 29 февраля), Проскуровско-Черновицкой (с 4 марта по 17 апреля), Уманско-Ботошанской (с 5 марта по 17 апреля) и Березнеговато-Снигиревской (с 6 по 18 марта).
В ходе Львовско-Сандомирской наступательной операции, проводившейся с 13 июля по 29 августа 1944 года, советские войска разгромили стратегическую группировку противника — группу армий "Северная Украина", освободили от оккупантов западные области Украины — города Львов и Рава-Русская.
Завершила освобождение Украины Восточно-Карпатская операция, (8 сентября —28 октября 1944 года). 26 октября войска 4-го Украинского фронта освободили Мукачево, 27 октября — Ужгород, 28 октября — Чоп.