Могилёв обороняли с 3 по 9 июля на дальних подступах, а затем по 16 июля бои шли в предполье, на основной полосе обороны перед городом. Особенно тяжёлые бои развернулись на Буйничском поле. Несмотря на мужественное сопротивление защитников Могилёва, превосходящим силам врага удалось полностью окружить город. 16-27 июля соединения 61-го стрелкового корпуса и отряды народного ополчения героически сражались в окружении. Бойцы батальона милиции, несколько дней отбивали атаки немецких войск в районе деревни Пашково и посёлка Гаи. Однако 26 июля немцы вошли в Могилев. Оккупация города длилась почти 3 года.
В июне 1944 года Красная Армия начала Белорусскую наступательную операцию, составной частью которой стала Могилёвская операция. Немецкие войска в 3-4 км от города и в городе создали 3 рубежа обороны, мосты через Днепр заминировали. В ночь на 23 июня фронтовые бомбардировщики и части авиации дальнего действия нанесли удары по узлам обороны и артиллерийским позициям немецких войск. В 9:00 началась двухчасовая артиллерийская подготовка на участке 49-й советской армии. Эта армия перешла в наступление в 11:00 и прорвала оборону противника на участке Старый Прибуж — Старый Перевоз. К исходу 23 июня части 49-й армии продвинулись на 5-8 км. Войска 33-й и 50-й советских армий существенного продвижения вперёд в этот день не имели. Немецким командованием «в район намечавшейся бреши восточнее Могилёва был брошен резерв 4-й армии — находившаяся на пополнении дивизия, пригодная лишь для обороны.
24 июня с 7:30 активное наступление осуществляла 49-я советская армия и правофланговые части 50-й армии. В результате к исходу дня советские войска продвинулись вперёд еще на 8-16 км. На других участках фронта советские части продвижения не имели. Просьбу командующего 4-й немецкой армии разрешить отход на так называемую прикрывающую позицию по Днепру командование группы армии «Центр» отклонило.
25 июня левофланговые части 33-й и 49-й советских армий, правое крыло и центр 50-й армии продолжали наступление в направлении города Могилёв. В этот день продвижение советских войск составило 4-15 км. Части 4-й армии Германии усилили сопротивление и пытались организовать контратаки с целью остановить наступление советских войск. Типпельскирх, принявший командование 4-й армией, вместо ушедшего в отпуск генерал-полковника Хейнрици, взял на себя ответственность в ночь с 25 на 26 июня отвести армию к Днепру. Но это решение являлось запоздалым. 26 июня 1944 года части 49-й армии и 50-й 2-го Белорусского фронта при содействии 4-й воздушной армии замкнули кольцо окружения группировки войск противника вокруг Могилёва. Гитлеровцы ожесточенно сопротивлялись, предприняли до десяти попыток вырваться из окружения. В городе шли бои за каждый дом. Из 10 тысяч окруженных немцев в плен сдались только три тысячи. Последняя группа из шестисот человек, оборонявших здание вокзала, сложила оружие после двух дней упорной обороны. К 16:00 28 июня на улицах города начали появляться белые флаги, а в 18:00 гарнизон капитулировал, бои в Могилеве закончились.
Красная Армия входит в город. 28 июня 1944 г.
Горожане встречают освободителей на улице Первомайской. 28 июня 1944 г.
За отличные боевые действия при форсировании Днепра и овладении Могилевом войскам 2-го Белорусского фронта 28 июня 1944 года Верховный Главнокомандующий объявил благодарность. В этот же день Москва салютовала 20 артиллерийскими залпами из 224 орудий в честь войск фронта, форсировавших Днепр и освободивших города Могилев, Шклов и Быхов. За героизм и мужество, проявленные в Могилёвской операции, 21 части и соединению, отличившимся при освобождении города, было присвоено почётное наименование «Могилёвских», 10 особо отличившихся стрелковых, танковых и артиллерийских частей награждены орденами Красного Знамени, орденами Суворова II и III степени.
См. также: Фото | СССР. Могилев в годы войны