W rzeczywistości władzę sprawowali magnaci skupieni wokół Ulryka, hrabiego Cylii, którzy za wszelką cenę chcieli obalić Hunyadiego. Nadal jednak w jego rękach pozostało dowodzenie wojskiem i obrona granic. Ta dwuwładza sprawiła, że Węgrami co chwila wstrząsały konflikty pomiędzy Hunyadim a magnatami. Nawet zdobycie przez sułtana Mehmeda II Zdobywcę Konstantynopola w 1453 roku, a później zajęcie przez niego Serbii, nie skłoniło Madziarów do porzucenia wewnętrznych animozji i skupienia się na obronie. Nic dziwnego więc, że sułtan zdecydował się wykorzystać kryzys wewnętrzny na Węgrzech i zaatakować. Potężna, licząca 150 tys. ludzi, armia sułtana ruszyła na Budę w 1456 roku. Pierwszym celem wyprawy było zdobycie Belgradu. Położone u zbiegu Dunaju i Sawy miasto i twierdza były wrotami do Węgier. Ich zdobycie otwierało Mehmedowi drogę w głąb królestwa. Na wieść, że armia turecka stanęła pod Belgradem, nie wierząc, że istnieje jakikolwiek ratunek dla Korony św. Stefana, Władysław Pogrobowiec oraz oligarchowie porzucili Węgry i schronili się w Wiedniu. Na odjezdnym obowiązek obrony państwa zrzucili na barki Hunyadiego, nie zostawiając mu jednak wojska ani pieniędzy na nowe zaciągi. Wódz początkowo miał do dyspozycji tylko wojska zaciężne, które utrzymywał z prywatnej kiesy. Na wezwanie do obrony państwa zjawiła się w obozie zaledwie garstka szlachty i jeden magnat z pocztem. Przybyli też ochotnicy z państw ościennych, w tym z Polski. W tej rozpaczliwej sytuacji Hunyadi wezwał pod broń wszystkich zdolnych ją nosić. Pod sztandary stawili się mieszczanie, chłopi, żacy, biedota, a nawet zakonnicy. Z tej zbieraniny Hunyadi stworzył 50 – 60-tysięczne „wojsko krzyżowe” i poprowadził je na odsiecz Belgradowi.
Obrona Belgradu to jedno z najbardziej heroicznych wydarzeń w dziejach wojen węgiersko-tureckich. Zaledwie siedmiotysięczna załoga dowodzona przez Michała Szilagyiego, zięcia Hunyadiego, przez dwa miesiące mężnie odpierała ataki dwudziestokrotnie liczniejszego nieprzyjaciela. Turcy nękali obrońców szturmami oraz bombardowaniem z trzystu armat, które tak niedawno skruszyły potężne mury stolicy Bizancjum. W mieście szalały głód i zaraza – tyfus. Belgrad jednak się nie poddawał.
Wreszcie w połowie lipca pod miastem stanęła armia Hunya-diego. Widok, jaki zobaczyli idący na odsiecz, był wstrząsający. Jak zanotował wódz armii krzyżowej, potężny niegdyś zamek został doszczętnie zburzony, a w jego miejscu był teraz pusty plac. Mimo to Hunyadi nie zwlekał – śmiałym atakiem zniszczył blokującą Belgrad flotę turecką na Dunaju i przedarł się do miasta.
Wściekły sułtan nakazał ciągły ostrzał miasta i ponawianie szturmów aż do skutku. Podczas jednego z ataków elitarna piechota turecka – janczarowie – pokonała fortyfikacje i wtargnęła do doliny rozdzielającej Belgrad na dwie części. Nagle cała dolina stanęła w ogniu. Obrońcy zawczasu wyścielili ją słomą i polali olejem. Podpalone wiechcie zamieniły jar w wielki piec, w którym zginęło kilkanaście tysięcy janczarów.
Decydujące starcie odbyło się 21 i 22 lipca 1456 roku. Hunyadiemu udało się opanować turecki obóz i zająć stanowiska artylerii. Co ważniejsze, w zamieszaniu został ranny sułtan. Na wieść o tym w szeregach tureckich wybuchła panika. Bitwa zamieniła się w jatkę. Na polu bitwy zostały ciała 50 tys. zabitych Turków, a dalsze 25 tys. zginęło z rąk bałkańskich chłopów, gdy próbowali się przedrzeć do Stambułu. To świetne zwycięstwo, które na kilka dekad odepchnęło Turków od granic Węgier, zostało okupione dotkliwymi stratami. Największą z nich była chyba śmierć Jana Hunyadiego na tyfus.