宋蒙联兵灭金后,蒙古帝国并没有按照承诺,将河南地归还宋朝,仅仅将陈蔡东南地区归宋。蒙古的这一做法,让不少宋朝人感到愤愤不平,而且其中一些宋朝人还抱着侥幸求胜的心理。当时的淮东制置使赵癸与其兄赵范提出了“守河据关,收复三京”的建议,企图乘蒙古主力北还、河南空虚之际,收复西京洛阳、东京汴梁和南京归德。宋理宗赵昀任命泸州全子才等人进军河南。
1234年六月十二,全子才收复南京归德府。随后向开封进发,开封守将为崔立,原本为金国的元帅级人物,受命坚守开封,但由于开封蒙古军都尉李伯渊、李琦、李贱奴长期遭受主将崔立的侮辱,于是这三人杀掉崔立,以开封城投降蒙古。七月初五,全子才率宋军进入汴京城。然而他们看到的,已不是《清明上河图》中那座繁华的都市了,曾经超过百万的人口只剩守军六百余人、居民一千多家。到处都是一片残垣断壁,破败的尸体和森森的白骨更是随处可见,城中没有丝毫的生气。
其实,蒙古东道诸王塔察儿听闻报宋军北进,便率所部蒙古兵退到黄河以北,故意示弱给宋军,以引诱宋军深入。过河之前,蒙古人把黄河南岸的河堤掘开,致使两淮大片的土地变成水泽沼泽,不仅严重地干扰了宋军的行军,就连后勤补给线也被严重破坏,这为后面南宋的兵败埋下了伏笔。
当时,控制南宋朝政的奸相史嵩之又故意不供应军饷,致使南宋军无法坚守空城。蒙古军乘势截击宋军,并向洛阳逼近;南宋军当时虽然没有战败,但是也没有办法守城,只好撤兵。这件事情发生在南宋端平元年,故史称“端平入洛”。这件事以后,不仅没能实现南宋统治者“守河据关,收复三京”的战略计划,反而给蒙古南下攻宋提供了借口。
太宗六年(1234年)底,窝阔台在答兰答八思建立行宫,召集诸王大臣会议,决定南下攻宋,并再次进行西征。当时窝阔台将南征之师兵分三路:中路军由窝阔台第三子阔出率领,进攻汉水及长江流域;西路由次子阔端、都元帅达海绀卜等率领,攻取四川;东路军由宗王口温不花、国王塔思等统率,进攻南宋的荆襄、江淮地区。
太宗七年(1235年)六月,阔出与诸王众将失吉忽秃忽、口温不花、塔思以及汉将史天泽、张柔等与原屯黄河沿线的塔察儿会合,渡河南下。八月,蒙古先锋军攻克唐州,于是转攻淮西,掩护主力向襄、郢进军。十月,塔思率军攻破枣阳,阔出则率军西掠襄、邓,攻取光化军。塔思率军一部南攻郢州,遭到了守城宋军的顽强抗击,屡攻不克,无奈之下只能北还。阔端的西路军进至巩昌,出身汪古部的原金朝降将汪世显叛宋降蒙古,并引蒙古军南下。
十一月,西路军阔端从凤州向南进军,攻占沔州之后,进围青野原的南宋四川制置使赵彦呐,南宋御前诸军都统制曹友闻听闻后立马率军前去救援。此次支援将蒙古军击溃,所以蒙古军改变战略选择转攻大安军,但是又被曹友闻军击退。宋军北上扼守仙人关。
太宗八年(1236年)三月,阔出率领中路军攻打鄂北重镇襄阳,恰巧襄阳守军内讧,将领王曼投降了蒙古,结果襄阳被蒙古军占领。襄阳是南宋守卫疆域的重镇,自岳飞收复以来已经一百三十余年,生聚繁庶,城高池深,钱粮在仓库者不下30万,弓矢器械24库。襄阳被攻占,南宋军遭到极其惨重的损失,使得南宋在长江中游的荆湖战略要地失去了保卫屏障。四月,阔出的军队攻克随、郢二州及荆门军。八月,南宋的枣阳军、德安府也被蒙古军攻破。
九月,阔端又率西路军分兵两路合击成都。阔端亲率主力离开大散关向武休关进军,击败了南宋将领李显忠,占领兴元;他派遣的另一支军队对南宋大安军发起猛烈的攻势,主力则攻阳平关。南宋的四川制置使赵彦呐见蒙古军欲进攻大安,急调曹友闻控制大安,以保蜀门。曹友闻提出,自己驻兵沔阳,敌人有后顾之忧,必然不敢越过沔阳而入蜀。如果离开沔阳而入大安,则是弃天险而就平旷,正是就敌骑兵之长,暴露自己步兵之短,况且寡不敌众,必然导致失败。赵彦呐不听,致使曹友闻全军覆没,曹友闻力战而死。从此,蜀门大开,蒙古军队长驱直入。随后,蒙古宗王蒙哥率军攻克宕昌、阶州后,挥军南进,攻取文州。南宋知州刘锐、通判赵汝向率领军民严防死守,蒙古军久攻不克,最后断掉了城中水源,才将城攻破。
十月,东路军主帅阔出在行军途中病死,窝阔台指派忒木台率军继续南攻江陵。为了突破江陵东西防线,兵分两路,一路攻打复州,另一路在枝江、监利编造木筏,准备渡江。南宋朝廷听到这个消息,急忙派遣孟珙赶赴前线支援。孟珙巧施疑兵之计,反复变换旗帜和军服颜色,在夜里点燃无数的火把,以少示众,并遣军偷袭蒙古军,破了24寨,夺回被掠军民2万余人,使得蒙古军被迫北撤。与此同时,蒙古马步军都元帅察罕率军攻打真州也遭顽强抵抗后被击退。
西路军在阔端的率领下攻破成都,大肆掠夺四川腹地。在听闻东路主帅阔出的死讯后,率军北归,在汉州与蒙哥的军队相会,又留下一部分兵力扼守沔、阶、兴元等要地,主力退出四川。不久,蒙古军所占领的州县均被宋军孟珙、杜杲、吕文德等合力收复。
太宗九年(1237年)十月,蒙古东路口温不花、塔思军大破光州后,继续进取随州、复州、蕲州,之后围攻黄州,南宋守军迎战接连失利,孟珙率军前去救援,将其击退;蒙古军集结死士进行强攻,遭到南宋守将杜杲率军奋勇抵抗,攻城失利,于是填平城濠,筑造了27坝,乘着风势纵火攻战;宋军反击,奋勇冲杀,夺取了高坝;后来池州都统制吕文德率军入城增援,合力防守抵御,蒙古军屡攻不克只好退兵。西路军队袭击掠夺了武信城、资、普等州,达海绀卜部将郝和尚拔都及梁秉钧窥开、达二州,进逼瞿塘。
太宗十年(1238年)九月,窝阔台再一次派察罕率东路军攻打庐州,打算在巢湖上造船,来窥探长江上的军情。蒙古军筑起高坝攻城,守城的南宋将杜杲率军奋力抵抗,蒙古军失利。蒙古军遂转军东下,攻克了滁州;又转战天长时被南宋军击败,察罕被迫率领大军退出南宋边境。西路的蒙古军由都元帅达海绀卜率领再次侵入四川,攻克隆庆后,四处掳掠。
太宗十一年(1239年)四月,孟珙趁着东路蒙古军进攻淮西,对长江中游放松进攻的时候,遣军收复了京襄诸郡。六月,阔端遣达海绀卜率军进入蜀地,再次在成都开战,四川制置使丁黼战死;南宋军死守着大江的南岸,于是蒙古军趁着夜色乘船迂回渡江之策,击溃了南宋军。十二月,宋将孟珙分兵屯峡、归、施诸州,控扼蒙古军东进之路,在归州大垭寨一举击溃蒙古军,收复了夔州。南宋朝廷旋将孟珙任命为四川宣抚使,加强了四川防御。
太宗十三年(1241年)十一月,蒙古军又一次侵入蜀地,大破二十余城,进围成都。宋制置使陈隆之固守十多天,但他的部下却心生逆反之心,在夜里开城门出降,陈隆之被俘杀。而窝阔台也在这年的十二月病死,蒙古军主力即刻北归,蒙宋战争暂告一段落。
窝阔台派蒙古军攻宋持续时间长达七年,蒙古大军的主力一直都是西征,攻打宋的兵力只占据一小部分,而且战线过长,兵力分布较为分散;虽然蒙宋之战中打了不少胜仗,但是整体却没有主攻方向,而且蒙古善骑兵,在巴蜀之地缺乏水军,处于十分不利的地位。蒙宋之战也使得蒙古军承受了不小的损伤。