1944. júniusában egyre biztosabbnak látszott a III. Birodalom bukása: a német hadsereg valamennyi fronton súlyos vereségeket szenvedett, és július 20-án Hitler is épphogy túlélt egy ellene végrehajtott merényletet. 1944-ben a szovjet hadsereg már lengyel földön járt, és fokozatosan nyomult nyugat felé. A lengyel Honi Hadsereg elérkezettnek látta az időt Varsó felszabadítására.
A Honi Hadsereg parancsnoka, Tadeusz Bór-Komorowski tábornok június 12-én adott engedélyt a felkelés elindítására, a pontos időpontról azonban csak július 31-én döntöttek. A felkelést a Londonban székelő lengyel emigráns kormány is jóváhagyta.
A szembenálló felek nem képviseltek egyenlő erőviszonyokat. Bár a felkelők többen voltak (számuk 20 ezer és 40 ezer fő között lehetett), csak egyszerűbb fegyverekkel – kézifegyverekkel, Molotov-koktélokkal, páncéltörő kézigránátokkal és néhány Panzerschreckkel (páncéltörő rakéta) és Panzerfausttal (páncélromboló) – rendelkeztek. A rossz előkészületek miatt a felkelés kezdetekor ráadásul csak háromezer ember volt azonnal harcra fogható, ami a teljes állomány tizedét jelentette. Bár formálisan Komorowski vezette a felkelést, a tényleges parancsnok Antoni Chruściel tábornok volt. A felkelőkhöz néhány száz külföldi is csatlakozott.
A német csapatok létszáma július 31-én mindössze 11 ezer fő volt, ám sokkal ütőképesebb fegyverekkel voltak felszerelve. Ráadásul közvetlenül a felkelés kitörése után erősítést kaptak. Köztük voltak a Heinz Reinefarth parancsnoksága alatt álló rendőri alakulatok, az Oskar Dirlewanger parancsnok által irányított Dirlewanger-SS-különítmény, valamint a németekkel kollaboráló oroszokból és fehéroroszokból álló SS RONA gránátos hadosztály.
A harcok augusztus 1-jén, délután öt órakor kezdődtek, nem túlságosan szerencsés körülmények között. Sok ellenálló nem ért időben a gyülekezés helyére, ráadásul olyan nehézfegyverekkel sem rendelkeztek, amelyekkel sikeresen támadhatták volna a megerősített német épületeket. A lengyelek ráadásul több célpontot támadtak egyszerre. Bár több épületet (köztük a Powiślei erőművet) sikerült elfoglalniuk, a legfontosabbakat nem tudták bevenni.
Augusztus 4-én a felkelők csak a belváros északi kerületeinek többségét és a belváros déli részének néhány pontját birtokolták. A felkelés leverésével Erich von dem Bach-Zelewski német tábornokot bízták meg. Augusztus 7-én kezdődött az óvárosi csata, amely a hónap végéig tartott, de Wola és Ochota ellenállói már augusztus 11-én megadták magukat. Szeptember 11-én támadást indítottak Powiśle ellen, a lengyelek ugyanis arra számítottak, hogy ez lesz az a hídfő, ahová a szovjet csapatok majd át tudnak kelni.
A Vörös Hadsereg azonban a Visztula jobb partját elérve a felkelés hírére megtorpant. Sztálin politikai okokból úgy döntött, nem küld jelentősebb segítséget a lengyel harcosoknak, csak két gyalogezrednyi katonát, akik tapasztalatlanok voltak a városi harcokban. A Powiślénél harcolók állásait szeptember 23-án számolták fel. A németek fokozatosan foglalták vissza a lengyel pozíciókat, a felkelés végére már csak a belváros központi része maradt a felkelők kezén. Nem látva értelmét a további harcoknak, Bór-Komorowski tábornok október 2-án aláírta a kapitulációt.
Az eredetileg pár naposra tervezett felkelés végül 63 napig tartott. Ez alatt az idő alatt nagyjából 170 ezer civil varsói halt meg, közülük körülbelül 60 ezren a németek által végrehajtott kivégzések áldozatai lettek. A fogságba esett felkelőket általában megölték, annak ellenére, hogy azok nyíltan harcoltak, és a hágai egyezményeknek megfelelően katonai jelzéseket viseltek. A város nyolcvanöt százaléka romokban hevert a történelmi Óvárossal és a királyi várral együtt, a belváros egésze megsemmisült. Az anyagi kár mértékét 40 milliárd dollárra (akkori értékben) becsülték.