Bitwa pod Berlinem, która trwała od połowy kwietnia do początku maja 1945 r., mogła rozpocząć się na początku lutego. Po ofensywie wiślanej, wojska radzieckie były oddalone od stolicy Niemiec zaledwie 60-70 km. Front białoruski pod dowództwem marszałka Georgija Żukowa był gotowy do ostatecznego ataku na Berlin. Ofensywa została jednak powstrzymana przez desperackie ataki nieprzyjaciela na froncie ukraińskim i froncie białoruskim a także przez przeniesienie na Pomorze oddziałów niemieckich znajdujących się w Kurlandii. W związku z tym Żukow otrzymał rozkaz pomocy sąsiednim frontom, więc atak na Berlin został przełożony na wiosnę.
Przed decydującym atakiem na Berlin pojawiło się pytanie, kto go przeprowadzi: białoruski front Żukowa lub ukraiński front pod dowództwem Iwana Koniewa. Stalin milcząco wyraził zgodę na stworzenie swoistej konkurencji między dwoma marszałkami. Koniew pozwolił swoim wojskom przełamać linie między dwoma frontami, powodując zamieszanie i nieporządek na tyłach wojsk Żukowa. W końcu zdecydowano, że centrum niemieckiej stolicy zostanie zdobyte przez żołnierzy frontu białoruskiego a front ukraiński będzie ich wspierał.
Nie tylko Armia Czerwona brała udział w bitwie pod Berlinem. Wspierało ją 200 tys. żołnierzy I Armii Wojska Polskiego, którzy stanowili około 10 proc. wszystkich atakujących oddziałów. Sojusznicy ci, wyposażeni w broń sowiecką, podlegali Tymczasowemu Komunistycznemu Rządowi Rzeczypospolitej Polskiej i walczyli pod własną flagą i w mundurach narodowych. Są oni szczególnie zapamiętani w walce pod Parkiem Tiergarten, gdy żołnierze 1 Dywizji Piechoty Tadeusza Kościuszki wspierali 2 Armię Czołgową Gwardii Radzieckiej, która pozostała bez wsparcia własnej piechoty.
Chociaż Berlin jest dość daleko od Morza Bałtyckiego, sowiecka marynarka wojenna brała czynny udział w bitwie o miasto. W dniach 23-25 kwietnia, pod ostrzałem nieprzyjaciela, małe łodzie Floty Dniepru zdołały przetransportować ponad 16.000 żołnierzy i 100 sztuk artylerii przez Sprewę do strefy walk.