ב-24 בדצמבר 1943 פתחה החזית האוקראינית הראשונה במתקפה ממערב ומדרום-מערב לקייב במטרה להסיר את האיום הגרמני לכבוש מחדש את העיר. הכוחות התוקפים השיגו התקדמות טובה, וארמיית הפאנצר הרביעית הגרמנית, שהגנה על האזור, נאלצה לסגת תחת לחצם. ב-31 בדצמבר שחרר הצבא האדום את העיר ז'יטומיר, ב-5 בינואר את ברדיצ'ב וב-10 בינואר הגיעו כוחות החלוץ הסובייטיים למרחק קצר מהערים ויניצה ואומן, ויצרו פער ברוחב כ-70 ק"מ בין כוחות ארמיית הפאנצר הרביעית וכוחות ארמיית הפאנצר הראשונה מדרום לה. החזית האוקראינית הראשונה התקדמה למרחק 80-200 ק"מ לרוחב חזית של כ-300 ק"מ. בלחימה באזור בילה צרקווה השתתפו יחידות צ'כיות בפיקוד לודביק סבובודה, שלחמו לצד כוחות הצבא האדום.
אריך פון מנשטיין העביר תגבורות כדי לייצב את החזית הגרמנית באזור. כוחותיו ביצעו שורה של התקפות נגד, שהצליחו להדוף את כוחות החלוץ הסובייטיים למרחק 50-35 ק"מ, והחזית התייצבה ב-14 בינואר.
מבצע קירובוגרד.
ב-5 בינואר החלה החזית האוקראינית השנייה במתקפה לכיוון קירובוגרד. לאחר יומיים של לחימה, הצליח הצבא האדום להתקדם לעומק כ-20 ק"מ וב-8 בינואר שחרר את קירובוגרד. המתקפה הסובייטית החדשה ריתקה את כוחות ארמיית הפאנצר הראשונה, ולא איפשרה למאנשטיין להעביר כוחות גדולים צפונה, כדי לסייע לארמיית הפאנצר הרביעית הלחוצה. לאחר כיבוש קירובוגרד המשיכה החזית האוקראינית השנייה במתקפה לכיוון צפון-מערב, במטרה לחבור לכוחות החזית האוקראינית הראשונה, שהתקדמו לכיוון דרום-מערב, ולהביא לכיתור הכוחות הגרמניים, שילכדו ביניהם. היא הצליחה להתקדם לעומק 40-20 ק"מ נוספים, אך לא הצליחה לבצע את החבירה המתוכננת. ב-16 בינואר התייצבה החזית לאחר שהכוחות הסובייטיים התקדמו 50-40 ק"מ מערבה במהלך המבצע.
כיתור קורסון-שבצ'נקובסק.
באמצע ינואר 1944 עברו יחידות החזית האוקראינית הראשונה והחזית האוקראינית השנייה למגננה. הם קיבלו תגבורות והקימו יחידות מחץ מבצעיות, כדי להתכונן לעריכת מתקפה חדשה. התקדמות הצבא האדום לכיוון דרום-מערב במסגרת מבצע זיטומיר-ברדיצ'ב יצרה מובלעת גרמנית גדולה ממערב לצ'רקסי סביב העיר קורסון, שהוחזקה על ידי שני קורפוסים גרמניים מהארמייה השמינית. גאורגי ז'וקוב, ששימש כמתאם המבצעים הצבאיים בחזית הדרומית מטעם הסטבקה, זיהה את ההזדמנות ללכוד כוחות גרמניים גדולים בכיתור נוסח סטלינגרד, והכין תוכנית לכיתור ולהשמדת הכוחות הגרמניים במובלעת קורסון. ב-24 בינואר פתחו החזית האוקראינית הראשונה והחזית האוקראינית השנייה במתקפה מתמקדת על שני האגפים של המובלעת הגרמנית. הכוחות הניידים של שתי החזיתות הבקיעו את החזית הגרמנית, וב-28 בינואר חברו יחדיו והשלימו את כיתור הכוחות הגרמניים במובלעת קורסון, שהפכה לכיס. לפי הנתונים הסובייטיים מעל ל-10 דיוויזיות גרמניות כותרו בתוך הכיס, אך הגרמנים טוענים, שהכוח שכותר כלל רק 6 דיוויזיות מתחת לתקן, שרובן השתייכו לקורפוס ה-11 בפיקוד וילהלם שטמרמן. עד 3 בפברואר 1944 השלימו הכוחות הסובייטיים את הקמתן של טבעת כיתור פנימית וחיצונית סביב הכוחות הגרמניים הלכודים בכיס.
אריך פון מאנשטיין, מפקד קבוצת ארמיות דרום, הגיב במהירות למצב שנוצר, והחל בתכנון מבצע לחילוץ היחידות המכותרות בכיס קורסון, תוך הזרמת תגבורות חזקות לאזור. ב-11 בפברואר החלו כוחות משני קורפוסי פאנצר במתקפה שנועדה לפרוץ את טבעת הכיתור הסובייטית, ובמקביל החלו הכוחות הגרמנים המכותרים בתוך הכיס להתקדם מערבה, במגמה לחבור עם כוח החילוץ של מאנשטיין. לאחר קרבות עזים, שנמשכו עד ל-17 בפברואר, הצליחו חלק מכוחותיו של שטמרמן לפרוץ את טבעת הכיתור ולחבור לכוח החילוץ, לאחר שהותירו מאחור את כל ציודם הכבד. לפי המקורות הגרמניים, רוב הכוח המכותר (30-35 אלף חיילים) הצליח להיחלץ מהכיתור הסובייטי, לאחר שספג כ-30 אלף אבדות (הרוגים, פצועים ונעדרים). המקורות הסובייטיים מעריכים את אבדות הצד הגרמני במהלך המערכה סביב כיס קורסון בכ-80 אלף איש (כולל כ-18 אלף שבויים), כולל כוח החילוץ של מאנשטיין, שספג אבדות כבדות במהלך הניסיונות לפרוץ את טבעת הכיתור הסובייטית. הם מודים, שהצבא האדום ספג אף הוא אבדות כבדות (כ-80 אלף נפגעים) במהלך המבצע.
מבצע רובנו-לוצק.
בעקבות התקדמות החזית האוקראינית הראשונה בינואר 1944 נפתח פער בין קבוצת ארמיות מרכז לבין קבוצת ארמיות דרום. אריך פון מנשטיין ביקש מאדולף היטלר לפנות את חצי האי קרים ולהעביר את הארמייה ה-17 משם לצורך תגבור כוחותיו, אך היטלר דחה את בקשתו. כתוצאה מכך התקשתה קבוצת ארמיות דרום להחזיק חזית רצופה. היא נאלצה להסתמך על מגננה ניידת והחזיקה רק בעמדות מפתח ובצמתי דרכים חיוניים. במקביל למערכה סביב כיס קורסון, פתחה החזית האוקראינית הראשונה ב-27 בינואר במתקפה לכיוון רובנו תוך ניצול חולשת הכוחות הגרמניים בגזרה זו. כבר ביום הראשון למתקפה חדרו כוחות הצבא האדום לעומק 35-50 ק"מ. ב-2 בפברואר שוחררו הערים רובנו ולוצק. הקרבות סביב שפטובקה היו קשים בהרבה והסתיימו רק ב-11 בפברואר. בסך הכול, התקדמו יחידות החזית כ-120 ק"מ ב-16 ימים, והשלימו את המשימות שהוטלו עליהן.
מבצע ניקופול-קריבוי רוג.
המבצע החל ב-30 בינואר 1944 על ידי החזית האוקראינית השלישית והחזית האוקראינית הרביעית. מטרת המבצע הייתה לבטל מובלעת גרמנית על שפת הדנייפר, לשחרר את הערים ניקופול וקריבוי רוג ומכרות עשירים במנגן באזור. הפיקוד הגרמני היה מעוניין לפנות את המובלעת עוד לפני תחילת המתקפה אך אדולף היטלר דרש להחזיק אותה לאור חשיבות מכרות המנגן לתעשייה הביטחונית הגרמנית. כמו כן המובלעת הייתה מאפשרת לגרמנית לרכז כוחות לטובת פריצה אפשרית לחצי האי קרים לחידוש קשר יבשתי עם הארמייה ה-17.
המתקפה החלה ב-30 בינואר על ידי החזית האוקראינית השלישית והצבא האדום הצליח להתקדם ב-3-4 ק"מ. הגרמנים החליטו שהמטרה העיקרית של המתקפה היא העיר קריבוי רוג והעבירו את העתודות להגנתה. ב-31 בינואר הצבא האדום החל במתקפה ראשית והיא לא הייתה לכיוון קריבוי רוג. כאשר הגרמנים הבינו את הטעות הם ניסו פעם נוספת להעביר כוחות אך היה כבר מאוחר. לקראת 6 בינואר הסובייטים הצליחו לחצות את הארמייה השישית הגרמנית לשתיים. תוך שישה ימים הסובייטים התקדמו בכ-45-60 ק"מ.
ב-31 בינואר החזית האוקראינית הרביעית החל מתקפה נגד מובלעת ניקופול. ב-2 בפברואר הורמאכט החליט על העברת כוחותיו לגדה המערבית של הדנייפר. חיל האוויר הסובייטי פעל לפיצוץ גשרים אך למרות זאת הגרמנים הצליחו להעביר את מירב כוחותיהם לגדה המערבית. ב-8 בפברואר העיר ניקופול שוחררה. ב-11 בפברואר הגרמנים החלו במתקפת נגד ואף התקדמו מזרחה בכ-8-10 ק"מ. לאחר מתקפה זו החזית התייצבה.
מבצע פרוסקורוב-צ'רנוביץ.
לאחר סיום מוצלח של מבצע רובנו-לוצק, סטבקה החליטה על המשך המתקפה לכיוון פאתי הרי הקרפטים. המתקפה של החזית האוקראינית הראשונה החלה ב-4 במרץ. ב-10 במרץ הצבא האדום הגיע לפרברי טרנופול וחצה מסילת ברזל חשובה לבוב-אודסה. הגרמנים החלו במתקפת נגד מסיבית והמתקפה הסובייטית נעצרה. לאור המצב סטבקה שינתה את היעדים של המתקפה. סוכם שהחזית האוקראינית הראשונה צריכה לחצות את נהר דנייסטר ולשחרר את צ'רנוביץ. האגף השמאלי של החזית ימשיך במתקפה לכיוון קמניץ-פודולסקי והאגף הימני לכיוון לבוב. לקראת 21 במרץ העיר ויניצה שוחררה והגרמנים נסוגו לפרברי קמניץ-פודולסקי.
ב-21 במרץ המתקפה חודשה. ב-24 במרץ הצבא האדום חצה את הדנייסטר ב-29 במרץ את נהר פרוט ושחרר את העיר צ'רנוביץ. בעקבות המתקפה המהירה הייתה סכנה שיחידות ורמאכט באזור יכותרו. אומנם חוסר יחידות שריון בחזית האוקראינית הראשונה לא איפשר להגיע לכיתור. הגרמנים הביאו לאזור תגבורות משמעותיות וב-17 באפריל החזית התייצבה ברובה לאורך הגבול המדיני.
מבצע אומן-בוטושאן.
המבצע בוצע על ידי החזית האוקראינית השנייה. מטרת המבצע הייתה להביא לקריסה של הארמייה הגרמנית השמינית. הכיוון הכללי של המתקפה היה אומן. המתקפה החלה ב-5 במרץ וכבר בסוף היום ההתקדמות הייתה כ-30 ק"מ. המתקפה הייתה מתואמת עם מבצע פרוסקורוב-צ'רנוביץ' שבוצע על ידי החזית האוקראינית הראשונה קצת צפונית מהאזור. ב-10 במרץ העיר אומן שוחררה והיחידות הקדמיות של הצבא האדום שעברו כ-100 ק"מ במהלך 4 ימים הגיעו לגדות נהר הבוג הדרומי. הוורמאכט לא הצליח לעצור את המתקפה על גדות הנהר והצבא האדום המשיך בהתקדמות מהירה לכיוון הדנייסטר. ב-17 במרץ החלה חציית הדנייסטר וב-19 במרץ שוחררה העיר מוגילב-פודולסקי. כתוצאה מכך, קבוצת ארמיות דרום נחלקה לשתיים והארמייה הגרמנית השמינית הועברה תחת פיקוד של קבוצת ארמיות A. הצבא האדום ניסה לכתר את ארמיית הפאנצר הראשונה תוך קבלת עזרה מהחזית האוקראינית השלישית אך למרות התקדמות מהירה הדבר לא הצליח.
ב-26 במרץ יחידות הצבא האדום הגיעו לגדות נהר פרוט ובאותו יום שחררו את העיר בלץ. באותו לילה הם הצליחו לחצות את הנהר ולהעביר את הלחימה לשטח רומניה. לדבר היה היבט פוליטי חשוב.
במטרה להציל את המצב הורמאכט העביר לאזור עתודות בהיקף של 18 דיוויזיות. הגעת תגבורת זו וריחוק ממרכזי האספקה הביא לכך שלא היה ניתן להמשיך במתקפה. במחצית אפריל סטבקה נתנה פקודה לעצור את המתקפה.
בעקבות התבוסה אריך פון מנשטיין פוטר מתפקידו. הצבא האדום התקדם 250-300 ק"מ מערבה והעביר את הלחימה לשטח רומניה. למרות קיום מספר נהרות באזור, הגרמנים לא הצליחו לעצור את המתקפה הסובייטית על גדות הנהרות.
מבצע ברזנגובטו-סנגיריוב.