Podczas gdy Ottokar prowadził swoją bezkompromisową politykę, latem 1276 r. armia Rudolfa I przebywała wraz z wojskami Władysława IV króla Węgier w okolicy Wiednia. Alians ten zmusił Ottokara II do formalnego uznania Rudolfa I jako króla Niemiec oraz zwrotu Austrii, Karyntii oraz Styrii. Dodatkowo Ottokar stał się lennikiem Rudolfa I w Czechach i na Morawach.

Zaakceptowane przez Ottokara II warunki okazały się krótkotrwałe. W roku 1278 król Czech pomaszerował ponownie w okolice Wiednia, gdzie dnia 26 sierpnia napotkał sprzymierzoną armię Rudolfa i Władysława IV Węgierskiego.

Przed bitwą W roku 1276 Ottokar II pozyskał do swojej polityki nowych sojuszników. Pomoc uzyskał m.in. od księcia Dolnej Bawarii, margrabiów Brandenburgii i książąt śląskich. Swoją pozycję wzmocnił też bliską znajomością z biskupem Kolonii, co zapewniło mu neutralność Kościoła. W związku z tym Ottokar nie zabiegał znacząco o pomoc Węgrów, opierając się na sile śląskich oddziałów.