В ходе Березнпговатско-Снегиревской операции (6-18 марта) 3-й Украинский фронт разгромил немецкие и румынские войска в междуречье Южного Буга и Днепра. Здесь широко использовалась кавалерия генерала И. Плиева, которая оказалась очень кстати в условиях бездорожья. Отступающей группе армий «А» пришлось бросить в грязи все тяжелое вооружение. 26 марта в Николаеве был высажен морской десант. Два дня моряки вели бои в окружении, отвлекая на себя силы противника, а 28 марта в город прорвались части Красной армии.
Под угрозой того, что будут отрезанными, немецко-румынские части стали отходить к Одессе. В последний момент им удалось переправиться через Днестровский лиман и избежать окружения. В ходе Одесской операции 26 марта — 17 апреля была взята Одесса.
6 мая три Украинских фронта на время перешли к обороне. Теперь можно было и отдохнуть.
8 апреля 4-й Украинский фронт начал штурм Перекопа и затем прорвался в Крым. Уже 15 апреля войска 4-го Украинского фронта и отдельной Приморской армии подошли к внешнему рубежу обороны Севастополя, блокировав 70-тысячную группировку противника. Гитлер выступил против эвакуации Севастополя и даже усилил эту группировку. Советская артиллерия методично разрушала оборонительный пояс крепости. 7–8 мая Красная армия взяла штурмом господствующую над городом Сапун-гору и 9 мая ворвалась в Севастополь. Остатки немецкой группировки продолжали эвакуироваться с мыса Херсонес. Удалось эвакуировать более половины состава крымской группировки. Под ударами советской авиации и торпедных катеров в море погибло 42 тыс. солдат. 12 мая Крым был полностью освобожден.
Освободив Крым от нацистов, сталинское руководство решило «освободить» его и от части местного населения. Крымские татары были объявлены «народом предателем», несмотря на то, что на фронтах погибло 26 тыс. советских солдат этой национальности, крымскими татарами были 4 генерала, 7 Героев Советского Союза и дважды Герой летчик А. Хан-Султан. В мае 1944 г. из Крыма было выселено 165 тыс. татар и 35.6 тыс. представителей других национальностей.
К середине мая была освобождена почти вся территория Украины. Но впереди оставались Львов и Закарпатье.
13 июля войска 1-го Украинского фронта под командованием И. Конева начали Львовскую операцию. По немецким позициям был нанесен мощнейший артиллерийский удар — в местах прорыва плотность огня достигала 250 стволов на 1 км. Однако оборона группы армий «Северная Украина» под командованием Й. Гарпе была хорошо подготовлена, немцы снова наносили контрудары. Немецкую танковую колонн)" с трудом удалось остановить с помощью массированных авиаударов. 18 июля в районе Бродов противник был окружен (в котел попала и дивизия «Галичина») и к 22 июля уничтожен, хотя и на этот раз часть окруженцев сумела прорваться в Карпаты (в том числе несколько сот украинских эсесовцев).
Однако Львов представлял собой крупный оборонительный узел, и сходу его взять не удалось. Тогда 3-я танковая армия обошла Львов и развернула наступление на Перемышль, а частью сил ударила по Львову с тыла. 27 июля Львов был освобожден.
17 июля 3-я гвардейская танковая армия вышла на территорию Польши. Пройдя 120 км, танкисты 23 июля создали плацдарм на реке Сан. В августе территория УССР была освобождена полностью.
Развернулись бои в Закарпатье — советская армия стремилась помочь Словацкому восстанию. 24 октября были освобождены Хуст и 26 октября — Мукачево. 28 октября 1944 г. был освобожден последний населенный пункт современной Украины — станция Лавочное.
В боях за Правобережье по советским данным противник потерял 30 дивизий и 6 бригад. 1 млн. солдат и 20 тыс. орудий и минометов, 8400 танков и около 5 тыс. самолетов. По их собственным данным потери немецких и румынских войск выглядели более скромно — 389 тыс. человек, из них 93 тыс. безвозвратно.
Советская армия потеряла 1194 тыс. человек, из которых 288 тыс. — безвозвратно. И еще 327 тыс. (93 тыс. безвозвратно) — в Львовско-Сандомирской и Восточно-Карпатской операциях.
Граждане Украины приняли участие в освободительном походе Красной армии, разгроме Германии и Японии. Их доля в красной армии составляла в 1945 г. около трети численности. В 1943–1944 гг. с Украины было призвано более 3700 тыс. человек, причем 600–900 тыс. повторно — после разгрома 1941 г. Всего с территории Украины по украинским оценкам было призвано более 6 млн. человек.
После начала освобождения Правобережной Украины УПА сосредоточилась на борьбе с Красной армией и советскими структурами. В 1943–1944 гг. была создана сеть схронов — целые подземные поселки со своими складами, госпиталями и даже типографиями.
Против УПА были направлены 8 дивизий, 1 мотострелковая бригада. кавалерийский полк, танковый батальон и др. силы (свыше 40 тыс. солдат). Часть войск пришлось снять с Сандомирского плацдарма.
Сначала УПА попыталась померяться силами с крупными подразделениями Красной армии, действуя группировками в несколько куреней. 27 марта у с. Липки Степановского района Ровенской области был окружен отряд УПА в 500 человек и почти полностью уничтожен.
В апреле 1944 г. несколько тысяч повстанцев были окружены в Гурбинских лесах под Кременцом. 23–24 апреля был уничтожен курень Сторчана, но некоторым отрядам УПА удалось уйти из окруження. Было убито 2018 бойцов УПА, пленено 1570, захвачено 7 орудий, 49 пулеметов, 15 минометов и даже самолет У-2.
В августе-сентябре 1944 г. советские войска провели широкомасштабное прочесывание региона (853 операции), было убито более 11 тыс. бойцов УПА и более 10 тыс. захвачено. Среди убитых были не только украинцы, но также немцы, казахи, узбеки и русские.
В 1944–1945 гг. НКВД Украины было создано 156 спецгрупп численностью 1783 бойцов, большую часть которых составили бывшие бойцы УПА, сдавшиеся и согласившиеся сотрудничать с новой властью. Они действовали под видом отрядов УПА и СБ ОУН, выявляли структуру подполья, уничтожали и задерживали лидеров движения.