Celem bolszewickiego marszu na zachód nie był wyłącznie podbój odrodzonej Polski, ale przeniesienie rewolucji sowieckiej na zachód Europy. Walki polsko-bolszewickie toczyły się od końca roku 1918. W 1919 r. wojna toczyła się na Białorusi. Jednocześnie podejmowano rozmowy pokojowe, które dla bolszewików były zasłoną dymną do przygotowań do wielkiej inwazji.
Nadziei na zwycięstwo Józef Piłsudski upatrywał w idei federacji krajów tej części Europy, która mogła być zaporą dla planów bolszewików. W kwietniu 1920 r. zawarł z przywódcą Ukraińskiej Republiki Ludowej Semenem Petlurą porozumienie sojusznicze. Po błyskawicznej ofensywie 7 maja 1920 r. siły polsko-ukraińskie wkroczyły do Kijowa. Inicjatywa Petlury i Piłsudskiego nie spotkała się jednak z większym poparciem społeczeństwa ukraińskiego.
Bolszewicy przygotowywali się do wielkiej ofensywy z obszaru wschodniej Białorusi. Ich dowódcą był Michaił Tuchaczewski, jeden z najzdolniejszych oficerów sowieckich. Zdecydowany atak Tuchaczewskiego miał na celu zdobycie Warszawy. Na południu ofensywę w kierunku Lwowa miały prowadzić armie Frontu Południowo-Zachodniego dowodzone przez Aleksandra Jegorowa. Pomiędzy nimi, ze względu na trudny teren Polesia, miały operować jedynie słabe zgrupowania pomocnicze. 4 lipca Tuchaczewski rozpoczął marsz na Warszawę. Przewaga jego armii nad siłami polskimi wynosiła 3:1.
Dopiero 24 lipca udało się utworzyć ponadpartyjny Rząd Obrony Narodowej Wincentego Witosa. Jego nominacja miała zjednać chłopów i robotników w idei obrony państwa. „Od Was, bracia włościanie, zależy, czy Polska będzie wolnym państwem ludowym, w którym lud będzie rządził i żył szczęśliwie, czy też stanie się niewolnikiem Moskwy” – głosiła odezwa z 30 lipca nawołująca do walki z najazdem bolszewickim.
22 lipca nowym szefem sztabu został doświadczony gen. Tadeusz Jordan Rozwadowski. Jego nominacja była powiewem optymizmu dla armii przytłoczonej skalą klęsk. Podczas posiedzeń Rady Obrony Państwa z ostatnich dni lipca mówił on m.in., że „żołnierz bolszewicki jest zupełnie wyczerpany”. Rzeczywiście siły Tuchaczewskiego topniały z każdym dniem, ich morale było coraz gorsze. Sytuację polskiej obrony poprawiało również wstępowanie tysięcy ochotników w szeregi utworzonej 8 lipca Armii Ochotniczej. Na jej czele stanął twórca Błękitnej Armii, gen. Józef Haller.
Tymczasem bolszewicy przystąpili do tworzenia w Polsce nowej, podporządkowanej sobie Polskiej Republiki Sowieckiej. Od końca lipca niewielka grupa działaczy sowieckich polskiego pochodzenia tworzyła Tymczasowy Komitet Rewolucyjny Polski. W jego skład wszedł m.in. twórca sowieckiej bezpieki Feliks Dzierżyński. W manifeście opublikowanym w Białymstoku bolszewicy zapowiadali obalenie rządów „szlachecko-burżuazyjnych”.
Bitwa Warszawska rozegrana została zgodnie z planem operacyjnym, który na podstawie ogólnej koncepcji Józefa Piłsudskiego opracowali szef sztabu generalnego gen. Tadeusz Rozwadowski, płk Tadeusz Piskor i kpt. Bronisław Regulski. Operacja składała się z trzech skoordynowanych, choć oddzielonych faz. Kluczem do jej powodzenia miała być obrona przedmościa warszawskiego, czyli wschodnich granic stolicy. Północnego odcinka frontu wzdłuż linii Wisły miała strzec 5 Armia gen. Władysława Sikorskiego. Na południu, znad rzeki Wieprz, uderzenia na słabe siły tzw. Grupy Mozyrskiej miały dokonać oddziały pod dowództwem Piłsudskiego.
Polakom sprzyjała niemal pełna wiedza na temat planów sowieckiego dowództwa. Polski radiowywiad i kryptografowie (m.in. ppłk Jan Kowalewski) niemal na bieżąco odszyfrowywali sowieckie depesze, które natychmiast trafiały do polskiego sztabu. 12 sierpnia radiowywiad przejął zaszyfrowany przy pomocy nowego szyfru o kryptonimie „Rewolucja” rozkaz natarcia na Warszawę. Niebagatelną rolę w przygotowaniach do walki odegrało rozpoznanie lotnicze. Bezcenne okazały się dostawy węgierskiej amunicji, które 12 sierpnia dotarły koleją do Skierniewic.
Bitwa Warszawska rozpoczęła się 13 sierpnia. Polskie siły na przedmościu warszawskim liczyły ok. 50 tys. żołnierzy. Głównym ogniskiem walk o przedpole stolicy stał się Radzymin, który kilka razy przechodził z rąk do rąk. Ostatecznie polscy żołnierze pomimo utraty pierwszej linii umocnień i z wielkimi stratami utrzymali Radzymin i inne miejscowości, odrzucając nieprzyjaciela daleko od swoich pozycji. Ciężkie boje toczyły się również pod pobliskim Ossowem. 14 sierpnia oddziały sowieckie znalazły się 13 km od granic Warszawy. Tego dnia pod Ossowem, podczas udzielania ostatniej posługi rannemu żołnierzowi, zginął kapelan warszawskich ochotników, ks. Ignacy Skorupka.
W obliczu możliwości załamania się obrony na przedmościu warszawskim działania zaczepne na linii Wkry wcześniej, niż planowano, podjęła 5. Armia gen. Władysława Sikorskiego. Jednym z ważnych fragmentów Bitwy Warszawskiej było zdobycie 15 sierpnia sztabu 4. Armii sowieckiej w Ciechanowie, a wraz z nim jednej z radiostacji, służących bolszewikom do utrzymywania łączności z dowództwem w Mińsku. Szybko podjęto decyzję o przestrojeniu polskiego nadajnika na częstotliwość sowiecką i rozpoczęciu zagłuszaniu nadajników wroga, dzięki czemu druga z sowieckich radiostacji nie mogła odebrać rozkazów.
Faza obronna Bitwy Warszawskiej trwała do 16 sierpnia. Dopiero tego dnia stało się jasne, że w obliczu utrzymania obrony na przedmościu uderzenie na Grupę Mozyrską ma sens. Grupa manewrowa, w której skład wchodziło pięć dywizji piechoty i brygada kawalerii, przełamała bardzo słabą obronę bolszewicką, a następnie zaatakowała tyły wojsk bolszewickich nacierających na Warszawę. W tym czasie 5. Armia gen. Sikorskiego wiążąc przeważające siły sowieckie nacierające na nią z zachodu, przeszła do natarcia na wschód Mazowsza. 21 sierpnia rozpoczęła się decydująca faza działań pościgowych.
Podobnie 5. Armia polska przesunęła się w kierunku Mławy. Pozbawiona łączności IV Armia bolszewicka nie wiedząc o klęsce pod Warszawą, zgodnie z wytycznymi atakowała Włocławek – zamykając sobie w ten sposób drogę odwrotu. W tej sytuacji jedynym wyjściem dla oddziałów sowieckich było przekroczenie granicy Prus Wschodnich, co też zrobiły 24 sierpnia. Tam część z nich została internowana. Część oddziałów sowieckich przez Litwę dotarła na Białoruś. 25 sierpnia polskie oddziały doszły do granicy pruskiej, kończąc tym samym pościg.
W wyniku Bitwy Warszawskiej straty strony polskiej wyniosły: ok. 4,5 tys. zabitych, 22 tys. rannych i 10 tys. zaginionych. Straty zadane Sowietom nie są znane. Przyjmuje się, że ok. 25 tys. żołnierzy Armii Czerwonej poległo lub było ciężko rannych, 60 tys. trafiło do polskiej niewoli, a 45 tys. zostało internowanych przez Niemców.
Bitwa Warszawska została uznana za osiemnastą przełomową batalię w historii świata. Zadecydowała o zachowaniu niepodległości przez Polskę i zatrzymała marsz rewolucji bolszewickiej. Zwycięstwo to było jednym z najważniejszych elementów pamięci historycznej II RP oraz legendy Józefa Piłsudskiego.