Rankiem dnia 26 sierpnia 1278 r. obie armie uderzyły na siebie. Wykorzystując przewagę liczebną w ciężkozbrojnym rycerstwie (6500 ludzi), królowi Czech udało się szybko rozbić lekką i ciężką kawalerię (4500 ludzi) Habsburgów. Armia Rudolfa rekrutująca się ze Styrii, Karyntii, Norymbergi, Szwabii, Alzacji i Szwajcarii znalazła się w ciężkim położeniu.

Po stronie Habsburgów pierwszy większy sukces odniosło około 4000 konnych łuczników kumańskich Władysława IV, którzy galopując przed głównymi siłami Rudolfa, ostrzeliwali przeciwnika. Równocześnie Kumanowie chronili obie flanki Habsburgów. Zaatakowali też prawe skrzydło Ottokara składające się z ciężkiej jazdy, która nie była w stanie dogonić szybkiej i lekkiej jazdy węgierskiej. W atakach tych zginęło kilkuset rycerzy Ottokara, głównie na skutek ostrzału z łuków.

W starciu dwóch armii tymczasem szala zwycięstwa przesunęła się wyraźnie na stronę króla Czech. Ciężkozbrojni rozbili lekką jazdę i byli bliscy sukcesu gdy koń 60-letniego Rudolfa runął na ziemię przeszyty lancą. Króla uratował Heinrich Walter von Ramschwag, który ochronił upadającego władcę i kontynuował walkę.