Утром 23 июля, после 30-минутной артиллерийской подготовки, главные силы 2-й танковой армии начали штурм Люблина. При этом был применен маневр 3-го танкового корпуса на северо-запад. С юга обошел город 7-й гвардейский кавалерийский корпус. Удар с востока наносил 8-й гвардейский танковый корпус. На север в качестве заслона был выдвинут 16-й танковый корпус. Несмотря на упорное сопротивление противника, к исходу дня значительная часть Люблина была освобождена, при этом взято в плен до 3 тыс. солдат и офицеров противника. В ходе штурма автоматной очередью был тяжело ранен командарм генерал С.И. Богданов. В командование вступил начальник штаба армии генерал А.И. Радзиевский.
За освобождение Люблина, героизм и мужество, проявленные в боях, почетное наименование Люблинских было присвоено 59-й гвардейской танковой бригаде, 62-му гвардейскому тяжелому танковому, 1107-му и 1219-му самоходным артиллерийским полкам.
После освобождения Люблина маршал Рокоссовский приказал 2-й танковой армии овладеть районом Демблин, Пулавы и захватить переправы через р. Висла, а в последующем развивать успех в направлении Варшавы. Во второй половине 24 июля в сражение был введен второй эшелон армии – 16-й танковый корпус, который штурмом овладел Демблином и вышел к Висле. Левее, овладев Пулавами, к реке вышел 3-й танковый корпус. Однако противник успел взорвать переправы через Вислу и в целях прикрытия подступов к Варшаве начал спешно перебрасывать свои резервы с западного берега реки в район Праги (предместье Варшавы). Учитывая создавшуюся обстановку, командующий фронтом повернул 2-ю танковую армию с запада на север. Она должна была, наступая вдоль шоссе в общем направлении Гарволин, Прага, овладеть предместьем польской столицы и захватить в этом районе переправу через Вислу.
Генерал Радзиевский решил оставить 16-й танковый корпус на Висле до смены его подходившими общевойсковыми соединениями, а в заданном направлении наступать силами двух танковых корпусов (3-го и 8-го гвардейского). 16-й танковый корпус после смены должен был следовать за 8-м гвардейским танковым корпусом в готовности к вводу в сражение на подступах к Варшаве. В резерв армии выделялись танковая бригада, армейская истребительно-противотанковая артиллерийская бригада и полк реактивной артиллерии.
Войска 2-й танковой армии, развивая наступление в направлении Гарволин, Прага, дважды самостоятельно прорывали вражескую оборону, поспешно занятую противником. Рубеж Сточек, Гарволин, на котором осели только передовые подразделения подходивших резервов противника, был прорван 27 июля с ходу на широком фронте (29 км) силами передовых отрядов и головных бригад танковых корпусов без артиллерийской подготовки и развертывания главных сил. Рубеж же Сенница, Карчев (на ближних подступах к Варшаве), занятый главными силами резервов врага, прорвать с ходу не удалось. Поэтому пришлось в течение 10 часов провести подготовку атаки. Прорыв этого рубежа осуществлялся танковыми корпусами на трех самостоятельных участках, что привело к дроблению противостоящих сил противника и уничтожению их по частям.
Конномеханизированная группа генерала В.В. Крюкова (2-й гвардейский кавалерийский, 11-й танковый корпуса), развивая наступление на северо-запад, 23 июля овладела городами Парчев и Радзынь. В ночь на 25 июля она завязала бой за Седльце. После упорных боев город 31 июля был занят совместными усилиями пехоты, кавалерии и танков.
Соединения 65-й и 28-й армий, отразив 23 июля контрудар противника в районе Черемхи, к исходу дня 26 июля вышли к Западному Бугу, охватив брестскую группировку врага с севера и северо-запада. В это время 70-я армия форсировала реку южнее Бреста и обошла город с юго-запада. С востока к нему подходили войска 61-й армии. 28 июля соединения 28-й, 70-й армий и 9-й гвардейский стрелковый корпус 61-й армии заняли Брест, а на следующий день в лесах западнее города завершили разгром до 4 дивизий противника. После этого 61-я и 70-я армии были выведены в резерв.
Войска 47-й армии 27 июля вышли на рубеж Мендзыжец, Лукув, 8-я гвардейская армия – западнее Лукува, Демблин, а передовые части 69-й армии подошли к Висле. Введенная 28 июля в сражение на стыке 8-й гвардейской и 69-й армий 1-я польская армия вышла к Висле в районе Демблина, где приняла от 2-й танковой армии ее участок.
К исходу дня 28 июля основные силы 1-го Белорусского фронта, встретив упорное сопротивление усиленной резервами немецкой 2-й армии на рубеже южнее Лосице, Седльце, Гарволин, вынуждены были развернуться фронтом на север. Противник спешно перебрасывал к Варшаве с юга 19-ю танковую дивизию, танковые дивизии СС «Мертвая голова» и «Викинг», а также недавно прибывшую с итальянского фронта дивизию «Герман Геринг» и ряд пехотных соединений немецкой 2-й армии. Одновременно активизировала свою деятельность вражеская авиация.