Husitská vojska začala kolem poloviny září 1420 obléhat Vyšehrad a s pomocí posil 15. října odřízla posádku od všech možností zásobování. Její příslušníci museli v této zoufalé situaci začít porážet a jíst vlastní koně, později i věci vyrobené z kůže, jako oděvy, řemeny či obuv. Král Zikmund sice slíbil dodat potřebné zásoby po vodě, ale husité Vltavu přehradili okovanými sloupy a řetězy. Velitel posádky, Jan z Boskovic řečený Všembera, vědom si bezvýchodné situace, uzavřel s obléhateli dohodu – pokud mu Zikmund nedodá potraviny, bude 1. listopadu v osm hodin kapitulovat. Ještě 31. října Zikmund čekal na moravské posily, ale zásobování Vyšehradu už včas zajistit nedokázal a dorazil k němu až druhý den okolo deváté, hodinu poté, co vyšehradská posádka opravdu kapitulovala.
Tím spíš se Zikmund rozhodl pustit se okamžitě s husity do bitvy. Jeho původní plán počítal s čelním útokem na husity obléhajícími Vyšehrad, kterým měla zároveň vpadnout do zad vyšehradská posádka. Husité se o tomto plánu však dozvěděli, když zadrželi jednoho královského posla. Zikmund tedy plán pozměnil a k hlavnímu čelnímu útoku přidal ještě vedlejší útok vedený směrem na méně chráněný bok husitského vojska směrem od Podolí, k němuž poukazem na zbabělost vyprovokoval českou a moravskou šlechtu.
Bitva začala podle předpokladu útokem na obléhatele v hlavním směru. Vyšehradská posádka ale do bojů nezasáhla, protože podle dohody fakticky kapitulovala. Zprvu dosáhlo královské vojsko při dobývání husitských pozic úspěch, husitská obrana se pomalu hroutila a husité začali ustupovat. Část se jich shromáždila u kostelíka sv. Pankráce, kde je husitský předák Hynek Krušina z Lichtenburka opět obrátil proti královským oddílům. Zároveň do boje zasáhly husitské zálohy, zřejmě orebští cepníci, kteří obrátili hlavní útočící Zikmundův sled na útěk. Do beznadějné situace se zároveň dostala česká a moravská šlechta útočící proti husitům do kopce z bočního úvozu. Kvůli těžkému terénu museli urození rytíři již dříve sesednout z koní a začít ustupovat, ovšem neměli kam. Jedinou možností bylo vrátit se stejnou cestou, kudy na Vyšehrad útočili. Tam na ně ovšem čekali daleko pohyblivější husitští bojovníci a začali je bez milosti pobíjet. Jenom některé z nich zachránili husitští šlechtici, a to někdy i s nasazením vlastního života.
Tím byla celá bitva pro krále Zikmunda s konečnou platností ztracena. Podle dostupných údajů padlo ze Zikmundova vojska přes 500 bojovníků, mezi nimi především asi 25 českých a moravských šlechticů zmasakrovaných v úvozu pod Vyšehradem, o zajatých nemluvě. Na husitské straně padlo prý pouze 30 bojovníků. Dobytý Vyšehrad vítězové i lid potom vydrancovali a pobořili.
Král Zikmund po prohrané bitvě pod Vyšehradem přišel o většinu svých českých a moravských spojenců, nemohl se opřít ani o svá, tedy královská města a neuspěl ani ve vojenském střetu s husity v únoru 1421 u Plzně. Nezbylo mu potom než zahájit ústup z Čech, podle některých kronik však spíše útěk. Na Pražském hradě Zikmundova královská posádka přežívala ještě půl roku, až do května 1421. Potom husité hrad oblehli a jeho obránci bez problémů kapitulovali výměnou za volný odchod. Devastace a drancování Pražský hrad na rozdíl od Vyšehradu nepostihla.
Historickou zajímavostí je způsob, jakým Zikmund v době, kdy shromažďoval vojsko k útoku na oblehatele Vyšehradu, vedl s protistranou také jednání. Nepočínal si při nich však příliš diplomaticky, neboť kromě jiného na vyjednávače i křičel: „Naserúť jim dříve do rypáků, než bych ustoupil z Vyšehradu!“.

























