1222年8月,木华黎转攻被金朝收复的太原府,太原再次失守。10月,蒙古军围攻河中府(今山西永济县),金朝河中府判官侯小叔率众坚守,蒙将石天应久攻不下,撤围离去。但石天应乘侯小叔出城和金朝枢密院都监完颜讹论议事之机,出兵攻占了河中府。
然而第二年春,侯小叔趁河中城内空虚,合集10万金兵反攻,杀死石天应,蒙古军溃散,金朝收复河中府。
1222年冬,在石天应攻掠河中的同时,木华黎统率的蒙古军经蒲城直趋京兆。原延安知府完颜合达抗蒙有功,在这年任参知政事、行省于京兆,领兵二十万固守。木华黎见蒙古军进攻不利,留兵六千屯驻,派蒙古不花率领先锋军去围攻凤翔,计划攻下凤翔后再取京兆。
木华黎亲率大军数十万围攻凤翔,数百里间,遍设营栅。金朝廷以完颜仲元兵力不足守御,派左监军赤盏合喜领兵来援。完颜仲元让赤盏合喜总兵事,自己身先士卒。合喜大力坚守。同知临洮府事颜盏虾蟆奋力作战,多有战功。木华黎围攻月余不下,哀叹说:“我奉命专征,不数年,取辽西、辽东、山东、河北,不劳余力。前攻天平、延安,今攻凤翔,都不能攻下,岂是我命将尽么?”1223年2月,木华黎领兵退走,3月,还军至闻喜县病死。
延安、凤翔的保卫战一再挫败木华黎军,取得胜利,意义是重大的。宣宗把凤翔的战功,通报各地,并褒奖完颜合达,完颜仲元升为元帅右监军,赤盏合喜升左监军。
蒙古军退后,宣宗随即任命完颜伯嘉行尚书省于河中,率领陕西精锐与平阳公史咏(胡天作死后,袭封)合兵收复河东。4月,收复霍州汾西县。5月,完颜合达收复河中府。史咏收复霍州及洪洞县。金朝抗蒙作战又出现了转机。
1223年,宣宗病死前,曾遣人招降武仙。武仙降蒙后,与史天倪同治真定,相互攻讦。1225年春,武仙杀史天倪,以真定府降金。武仙叛蒙归金,对金朝的抗蒙救亡,显然也是有利的。
1226年秋,哀宗派遣权枢密副使移剌蒲阿进兵山西。8月,移剌蒲阿收复曲沃,进而收复绛州(晋安),蒙古守