戰爭經過
拔都與速不台率領的蒙古軍在征服斡羅斯後,欲乘匈牙利準備不及而實行突襲,遂將所部分成四個縱隊,先掃蕩匈牙利守備薄弱地區,以造成對匈牙利主力軍的鉗擊之勢。匈牙利貝拉王避戰待援。匈牙利聯軍約10萬人,聲勢浩大,士氣較旺,自認為有信心抵抗蒙古軍。
蒙古軍進抵佩斯特城附近,得知匈軍兩倍於蒙古軍兵力,且驍勇善戰。蒙古軍決定採取誘敵殲滅之計,而將其已到達多瑙河的騎兵開始向東撤退。匈牙利聯軍以為蒙古軍不敢渡河攻擊,便渡過多瑙河同蒙古軍決戰。匈軍渡河後沒有發現蒙古軍主力,只見到少數巡邏部隊,誤認為蒙古軍大部隊已先行撤走,貝拉王於是率領匈聯軍向東跟蹤追擊,連續數日已遠離多瑙河,仍未追上撤退的蒙古軍,遂駐營在賽約河西的索爾諾克。為防止蒙古軍的偷襲,其正面以賽約河為天然障阻,四周又環拱小山,並構築工事。
當夜得悉蒙古軍隔河僅6里之遙,貝拉王又派1000名精兵把守橋頭和營外圍,還以貨車排列構成防護圈。是夜拂曉前,拔都軍向賽約河對岸橋頭髮起突然攻擊,攻擊受阻,遂以弩炮猛攻,迫使守橋匈聯軍後撤,蒙古騎兵乘勢渡河,在平原地層開攻勢。速不台率部沿河下流已迂迴到匈聯軍的側背,對匈聯軍形成包圍之勢。匈聯軍立即以密集隊形向蒙古軍衝擊,蒙古軍從正面後退到匈軍兩側,形成兩翼包圍,並以密箭射殺匈軍,匈軍不敵,向暫營地後退。匈聯軍又發動兩次攻擊,蒙古軍運用遠射兵器,使匈軍傷亡慘重,同時還施放煙幕使匈軍迷失方向,漸次進入錯宗複雜的地形,蒙古軍逐步縮小包圍圈,以遠距離火箭焚燒匈軍營地。
此時,匈營地人馬混亂,倉皇失措,企圖逃脫,但各條道路均被蒙古軍堵塞。蒙古軍為避免匈軍死斗,採用圍三缺一的戰法,在平原西方通多瑙河處開一缺口,故意讓匈軍逃竄,爾後連續追擊六日,殲匈聯軍7萬餘人,僅貝拉王單身逃脫。