Pierwsi do ataku ruszyli żołnierze ks. Karola nacierający wzdłuż Dunaju. Rozgorzał krwawy bój o wzgórza Nussberg i Heiligenstadt. Wówczas w centrum natarły oddziały saskie, bawarskie i frankońskie, które opanowały wzgórza Grinzing i Sievering. Wezyr zorientował się, że austriacki atak wzdłuż Dunaju nie jest głównym zagrożeniem, ale było już za późno na przegrupowanie wojsk.
Wreszcie ruszyli Polacy zgromadzeni na prawym skrzydle, którzy musieli się przedzierać przez pagórkowaty, poprzecinany wąwozami i gęsto zalesiony teren. Kara Mustafa nie spodziewał się ataku z tej strony i jego lewe skrzydło było znacznie słabsze. Do godz. 15 piechota opanowała wzgórza, umożliwiając jeździe osiągnięcie pozycji wyjściowych do natarcia. Chan tatarski, zwątpiwszy w powodzenie, opuścił pole bitwy. Sobieski postanowił wykorzystać sukces i rzucił do przełamującej szarży kilkanaście tysięcy jazdy, w tym 2,5 tys. husarii. Spadła ona ze wzgórz na karki Turków i Tatarów, rozbiła ich szyki, po czym zaatakowała obóz turecki. Lewe skrzydło wojsk osmańskich poszło w rozsypkę.
Wkrótce do ataku ruszyły także wojska cesarskie i niemieckie. Wykrwawione i zmęczone kilkugodzinnym bojem siły Kara Mustafy nie wytrzymały naporu i rzuciły się do panicznej ucieczki. Wieść o klęsce zmusiła też do odwrotu oddziały oblegające Wiedeń. Do zmierzchu było po wszystkim. Cesarska stolica została odblokowana, a w ręce Polaków wpadł cały obóz przeciwnika wraz z wielkimi łupami, w tym namioty wezyra i jego świty. Jan III w liście do papieża informującym o wielkim zwycięstwie sparafrazował sławne powiedzenie Juliusza Cezara: „Venimus, vidimus, Deus vicit” (Przybyliśmy, zobaczyliśmy, Bóg zwyciężył).