Dysponując siedmioma armiami ogólnie wojskowymi, jedną pancerną i jedną lotniczą, 2 Front Białoruski, którym od teraz dowodził Rokossowski, miał przeprowadzić operację zaczepną między Wisłą a Pojezierzem Mazurskim. W jej opracowaniu sięgnął do doświadczeń I wojny światowej. Postanowiono wykonać dwa uderzenia z przyczółków pod Różanem i pod Serockiem, przy czym to drugie uderzenie miało uniemożliwić przeciwnikowi wycofanie się za Wisłę i zapewnić nakazane współdziałanie z wojskami 1 Frontu Białoruskiego w ich natarciu na Poznań. Odcinek frontu od Ostrołęki do Augustowa miała utrzymać 50 Armia, na kierunku zaś obu uderzeń ześrodkowano 77% dywizji piechoty, 80% artylerii i 95% czołgów. Przyśpieszone o sześć dni – na skutek niemieckich działań w Ardenach – natarcie rozpoczęło się 14 stycznia. Dopiero jednak w trzecim dniu, gdy dzięki sprzyjającej pogodzie wprowadzono lotnictwo, obrona niemiecka ostatecznie załamała się. Wprowadzona do walki 5 Armia Pancerna, która swe doświadczenie zdobyła pod Kurskiem i Biełgorodem, zdobyła Mławę otwierając drogę na Malbork.