Двадцатого апреля артиллерия 3-й ударной армии нанесла мощный удар по Берлину. А на следующий день, 21 апреля авангарды 3-й ударной, 2-й гвардейской танковой, 47-й и 5-й ударной армий завязали бои на окраинах вражеской столицы.
К исходу дня 21 апреля, совершив многокилометровый марш-маневр с левого фланга 1-го Украинского фронта на правый, на южные окраины города вышли танки генерал-полковника П. С. Рыбалко.
В последующие дни битва за Берлин носила особенно ожесточенный характер.
К 23 апреля наибольшего успеха добился 9-й стрелковый корпус генерал-майора И. П. Рослого. Части корпуса, действуя в авангарде 5-й ударной армии генерал-лейтенанта Н. Э. Берзарина, ворвались в Карлсхорст и Кёпеник. К 24 апреля темп наступления группировки 1-го Белорусского фронта снизился, однако остановить атакующих было уже нельзя. Перед ними лежал центр Берлина.
Тем временем на вспомогательном направлении наступали 61-я армия и 1-я армия Войска Польского. Эта группировка атаковала на правом крыле фронта маршала Г. К. Жукова на участке, первоначально предназначенном для наступления танковых армий. Они охватывали Берлин с севера и продвигались к Эльбе.
Битва за Берлин рушила многие планы. Отмотаем ленту событий немного назад. Неожиданно первый значительный успех наметился на участке 1-го Украинского фронта. Атака началась ранним утром 16 апреля сорокаминутным артиллерийским наступлением. Артиллерия перенесла огонь с переднего края в глубину немецкой обороны, а тем временем передовые усиленные батальоны уже приступили к форсированию реки Нейсе. Под прикрытием дымовой завесы за короткий промежуток времени были оборудованы 133 переправы и поток войск хлынул на западный берег. Немцы, видя угрозу прорыва, бросили в бой не только оперативные, но и тактические резервы с целью сбросить авангарды маршала И. С. Конева в Нейсе. Но было уже поздно.
Утром 17 апреля танковые армии генералов П. С. Рыбалко и Д. Д. Лелюшенко были уже на западном берегу и развивали удар на северо-запад в направлении Берлина.
Авиация обеих фронтов работала непосредственно по переднему краю обороны противника и в её глубине. Уничтожались огневые точки на пути продвижения наступающих войск, инженерные сооружения, скопление резервов, склады и транспортные колонны.
Войска 1-го Украинского фронта действовали на двух направлениях, главном и второстепенном. По узкому коридору, пробитому 13-й, 3-й и 5-й гвардейскими армиями, И. С. Конев гнал вперёд свои подвижные силы — 3-ю и 4-ю гвардейские танковые армии. К исходу второго дня атаки танки подошли к Шпрее и начали форсирование реки.
На второстепенном, Дрезденском направлении, которое по первоначальному плану было основным, успешно наступали части 52-й армии генерал-полковника К. А. Коротеева и 2-й армии Войска Польского генерал-полковника К. К. Сверчевского.
Успех войск И. С. Конева подтолкнул Ставку к неожиданному решению: повернуть танковые армии 1-го Украинского фронта на Берлин. Комфронта тут же направил П. С. Рыбалко и Д. Д. Лелюшенко приказ: «На главном направлении танковым кулаком смелее и решительнее пробиваться вперёд. Города и крупные населённые пункты обходить и не ввязываться в затяжные фронтальные бои. Требую твёрдо понять, что успех танковых армий зависит от смелого маневра и стремительности в действиях».
Танковые генералы поняли замысел своего маршала. Темп движения танковых потоков 1-го Украинского фронта к Берлину составлял 35–50 километров в сутки.
Тем временем общевойсковые армии блокировали сильные группировки противника в районе Котбуса и Шпремберга.
К исходу 20 апреля войска маршала И. С. Конева рассекли немецкую оборону. Немецкие группы армий «Висла» и «Центр» уже не составляли цельного фронта и единой силы. Германское командование бросало под гусеницы советских танковых армий свои последние резервы. Но тщетно! На рассвете 22 апреля корпуса 3-й гвардейской танковой армии форсировали канал Нотте, с ходу прорвали внешний оборонительный обвод Берлина и к исходу дня заняли оборону на южном берегу канала Тельтов.
В этот день, 22 апреля, немецкое командование предприняло последнюю серьёзную попытку повлиять на ход сражения. В ставке А. Гитлера было принято решение снять с Западного фронта 12-ю армию В. Венка и деблокировать 9-ю армию Т. Буссе.
События ближайших дней развивались следующим образом.
Весь день 23 апреля войска маршала И. С. Конева проводили перегруппировку и стягивали к мощной обороне противника по линии Тельтов-канала артиллерию большой мощности. Противоположный северный берег нависал над водой отвесной стеной. С ходу не перепрыгнешь. По берегу и в глубину — траншеи, железобетонные ДОТы, окопанные танки и самоходки, противотанковые орудия для стрельбы прямой наводкой. По обрезу канала — плотная застройка домов со стенами толщиной от метра и более. В полосе действий 6-го гвардейского танкового корпуса плотность бронетехники была доведена до 650 стволов на километр фронта. Тяжёлые снаряды разносили двухметровые стены зданий в пыль. После артподготовки генерал-майор танковых войск В. А. Митрофанов успешно переправил свой 6-й гвардейский танковый корпус на северный берег.
Группа армий «Центр» ещё 20 апреля начала контратаковать советские войска. 23 апреля последовал мощный контрудар в стык 52-й армии и 2-й армии Войска Польского, в результате которого боевые порядки на левом фланге 1-го Украинского фронта были смяты, ударные части немецких войск продвинулись в глубину, угрожая тылам наступающих.
В полдень 25 апреля западнее Берлина авангарды 4-й танковой армии 1-го Украинского фронта встретились с ударными группами 47-й армии 1-го Белорусского фронта.
В тот же день часть сил 4-й гвардейской танковой армии совместно с 13-й общевойсковой армией отбивали попытку 12-й армии В. Венка прорваться в Берлин. 3-я гвардейская и часть сил 28-й армии зажали в кольцо и кромсали 9-ю армию Т. Буссе.
Задачи 2-го Белорусского фронта в Берлинской наступательной операции состояли в следующем.
Первое. Нанести рассекающий удар севернее Берлина и тем самым обеспечить правый фланг 1-го Белорусского фронта от возможного воздействия противника с севера.
Второе. Прижать к морю немецкую группировку, находящуюся севернее Берлина и уничтожить её.
Задача морякам Днепровской военной флотилии: бригады речных кораблей должны содействовать частям 5-й ударной и 8-й гвардейской армий в переправе через Одер. Кроме действий на переправах, моряки обеспечивали противоминную оборону водных транспортных путей.
Корабли Краснознамённого Балтийского флота действовали совместно с войсками маршала К. К. Рокоссовского, блокируя с моря войска немецкой группы армий «Курляндия».
Кольцо вокруг Берлина замкнулось в полдень 25 апреля. 6-й гвардейский механизированный корпус 4-й гвардейской танковой армии соединился с авангардом 47-й армии генерал-лейтенанта Ф. И. Перхоровича.
По оценке советской разведки, гарнизон Берлина насчитывал более 200 тысяч солдат, офицеров и бойцов фольксштурма при трех тысячах орудий и 250 танках.
Каждый дом был превращён в крепость. Каждая улица — в цитадель. Подземелья служили коммуникациями, по которым перебрасывались резервы и боеприпасы.
В этот же день самолёты 16-й воздушной армии генерал-полковника авиации С. И. Руденко нанесли два массированных удара по центру Берлина. Первая волна — 899 самолётов, вторая — 590. Проведено 27 воздушных боёв, сбито 20 немецких истребителей FW-190. Из них 13 сбито в районе Берлина.
Корпус генерал-майора И. П. Рослого по-прежнему двигался в первом эшелоне 5-й ударной армии. Его дивизии продолжали наступление вдоль западного берега реки Шпрее. В тот же день 25 апреля части 8-й гвардейской армии генерал-полковника В. И. Чуйкова захватили переправу через Ландвер-канал — целёхонький мост, который немцы заминировали, но взорвать не успели. Его тут же разминировали и пустили танки и артиллерию. Одновременно 11-й гвардейский танковый корпус полковника
A. X. Бабаджаняна овладел исправной переправой через Ландвер-канал и сразу же ею воспользовался — танки и самоходки пошли вперёд.