21 февраля в районе Рогачёва войска Союза перешли в наступление. Успех советским войскам обеспечил неожиданный манёвр: атака была начата не после артиллерийской подготовки, а одновременно с ней. Когда был дан сигнал к артподготовке, части Красной армии в темноте преодолели пойму Днепра, подошли к его правому обрывистому берегу и к началу активных боевых действий были уже в так называемом «мёртвом пространстве», недосягаемом огню противника.

К десяти часам утра передний край противника с двумя-тремя траншеями и несколькими населёнными пунктами на берегу реки почти всюду был занят советскими войсками. В некоторых местах они продвинулись на два-три километра. Особенно упорно противник дрался за село Кистени, превращённое в сильный опорный пункт с круговой обороной. За первый день боя был захвачен плацдарм в четырнадцать километров по фронту и до пяти километров в глубину. Но тактическая оборона противника из-за отставания артиллерии ещё не была прорвана.

На второй день наступления были отбиты населённые пункты Желиховка, Двойчаны, Осиновка, Александровка, Мадоры. 

На третий день советские войска прорвали тактическую оборону противника.

Командование группой армий «Центр» подтянуло к прорыву 3 танковых и одну охранную дивизию, но солдаты РККА, отразив контратаки противника, 24 февраля ночным штурмом освободили Рогачёв.

25 февраля, несмотря на решительные действия советских соединений, они понесли значительные потери, и не только не имели успеха, но и оставили южную окраину села Озераны. Сопротивление противника усилилось. Командующий армией, вечером на собранном совещании, после докладов начальников разведывательного и оперативного отделов и выводов начальника штаба принял решение перейти к прочной обороне на всём фронте.

Планы советского командования были рассчитаны на бó͘льший успех. Рокоссовский планировал продвижение до 75 километров и выход на ближние подступы к Бобруйску. Причина их невыполнения заключалась в недостатке боеприпасов, в сложных погодных условиях и тяжёлом для наступления рельефе местности и в отсутствии резервов для развития первоначального успеха.

Безвозвратные потери Советского союза составили 7164 человек, санитарные — 24 113 человек. Немцы потеряли более 8000 человек убитыми.