紹定三年(1230年),蒙古的攻勢嚴重受挫,在攻打慶陽、衛州、潼關等諸戰役中接連敗北,“假道滅金”再一次被提上日程。翌年,蒙軍攻克鳳翔後,窩闊台召集蒙古諸王大臣商議滅金。最終通過如下決議:拖雷率右路軍自鳳翔過寶雞,渡渭水,迂回四川後沿漢水東下,進入河南,從背後攻擊金軍,而窩闊台率中路軍自白坡渡黃河,斡晨那顏率左路軍由濟南西下。當然,蒙古一開始還是希望南宋能夠主動借路,紹定四年(1231年)蒙古再次派李邦瑞使宋,雖然這次南宋接納了李邦瑞,但其借路請求遭到南宋拒絕。
或許,這時候拖雷就該意識到自己處境之危險了。其實,窩闊台的本意就是想借宋、金之手除掉拖雷,所以“借路”決議一出,窩闊台便將此計劃公諸於眾,很快金國就得到了消息,有了足夠的時間進行準備。
另外,雖說金國之前所作所為實屬自絕於宋,但宋廷卻並沒有激於義憤,反而想幫金國守好後門,以期延緩金國的滅亡。不得已的拖雷隻能訴諸武力強行叩關了。
紹定三年(1230年),蒙軍進攻鳳州後,利州路安撫使兼知興元府郭正孫就根據蒙軍遊騎動向推斷出蒙軍必將由東道入宋境,但桂如淵卻接受了蒙軍“必自西入宋境”的錯誤判斷。這似乎已經注定悲劇即將釀成。第二年,蒙軍果然從東道入境,一時之間宋軍來不及重新部署,隻能眼睜睜看著蒙軍入境。更為惡劣的是,桂如淵此時忘記了自己的責任,不僅沒有組織有效抵抗,反而逃到合州躲了起來。後來局勢惡化,又主動為“借路”蒙軍提供糧草和向導,蒙軍順利地通過了四川。
在這種情況下,宋廷又急令京湖製置使陳賅領兵增援四川。但陳賅並沒把此事放在心上,以為隻是蒙古遊騎前來騷擾,隻派了三千人前往金州。很快,蒙軍擊敗金州宋軍,迅速沿漢水直下京西南路。此時陳賅才意識到事態的嚴重性,急調孟珙前去攔截,但為時已晚,逃過孟珙追擊的蒙軍順利進入金國境內。
但這隻是過了第一關,很快,疲憊不堪的蒙軍就發現等待他們的竟然是以逸待勞的十五萬金軍。原來,窩闊台也沒有按原計劃進攻潼關、牽製金軍,而是按兵不動長達四個月之久,使得金軍在得到蒙軍“借路”的消息後,立刻調重兵南下布防。
很快,四萬蒙軍被十五萬金軍團團包圍,在金軍的持續打擊下,蒙軍處境愈發艱難。但由於主帥完顏合達、副帥移剌蒲阿之間相互掣肘,金軍數次貽誤戰機,最終讓拖雷等來了一場救命的大雪。這場大雪下了三天三夜,金軍自進入中原以來還從未遇到如此寒冷的天氣,以致“僵凍無人色,幾不能成軍”,而蒙古人常年生活在塞北,比較適應這種天氣,拖雷於是抓住這一有利時機出擊,在三峰山之戰中大敗金軍。
窩闊台得知三峰山大捷的消息後非常震驚,與拖雷會師後不僅沒有繼續發動攻勢,反而在局勢非常有利的情況下率領大部分軍隊北返,並在歸途中毒死了拖雷。但即使這樣,金國賴以生存的關河防線已經殘破,精銳部隊遭到毀滅性打擊,已經離亡國不遠了。