为摆脱当前的艰难处境,文天祥乃上表崖山行朝,自劾兵败江西的罪状,请命益兵再举;同时要求率军前往,与赵宋行朝会合。却不料因为陈宜中一去未归,朝政由张世杰、陆秀夫主持。张世杰至此极不信任文人当政,且忌天祥职高威重而排济,因此坚决反对文天祥入朝共举;又欲入广州亦遭拒之,文天祥不由仰天叹曰:“此人当道,前途何在?!”
文天祥抗元复国之举频遭挫折,眼前又重新面临困境,可是名为少保、信国公的他,竟连与赵宋行朝会合这么简单的要求都做不到。此时宋知循州刘兴,知梅州钱荣之,并以城降。
文天祥哀叹之余,只得率军退往潮州潮阳县,转战于广东的潮、惠州一带,欲凭山海之险屯粮招兵,寻机再起。杜浒议趋海道,天祥不听,使护海舟至官富场。浒惧力单,径趋崖山。
潮州盗陈懿、刘兴数叛附,为潮人害。文天祥等乃进兵讨盗匪陈懿、赵兴,赵兴被处死,陈懿战败逃跑。
文天祥等复趋南岭,据此“高四百丈,周百余里,四高中衍,唯一路通,险阻可据”之地,一面收容残兵,一面屯兵训练。终因南岭封闭,与福州南宋小王朝失去联系,便作了长期作战的固守准备。这年冬天,大雪漫山,文天祥的部属便在南岭山中度过。
邹、刘子俊在吉州败后,仍率领余部在江西战斗,这时也到潮阳来会师。文天祥乃出南岭、趋潮阳,与邹、刘子俊等部会合,军势稍振。
因邹、刘子俊再攻懿党,懿乃潜道元帅张弘范兵济潮阳。
其时元兵都元帅张弘范、副帅李恒率水陆步骑大举南下,文天祥等度势不敌,中兴计划无法实施,只得率部五千人自潮阳向海丰转移,准备进南岭固守,不幸被元虏前锋张弘范之弟张弘正、总管囊加歹率轻骑五百人,兼程追上。至五坡岭,文天祥等命人造饭,方与众共餐,不意张弘正率兵突至,众不及战,仓卒溃散,被斩首七千余。拒守至次日上午,刘子俊等将领壮烈牺牲;文天祥之四女鉴娘、五女奉娘死于乱兵中。天祥仓皇出走,张弘范部将、千户王惟义前执之。文天祥吞下随身携带的二两冰片企图自尽殉国,可惜不知需用酒相佐以致药性失效和水份不足而未死,但却昏迷过去,遂被元将俘执。邹毅然拔剑自刎、以身殉国。刘子俊见王惟义等皆不识文天祥,为了营救这位英雄,便假冒天祥之名,因被识破,扔入铁锅烹死。至是陈龙复、萧明哲、萧资皆死,杜浒被执。惟赵孟遁,张唐、熊桂、吴希、陈子全兵败被获,俱死焉。张弘正等乃执文天祥及其将校四人赴都。
再看川蜀:帝显降元,诏谕各地投降。张珏拒不奉诏。得知赵、赵进入广东后,派兵士探访其下落,时宋主迁播闽、广,号令不达于四川,而川中诸将犹为宋守;并在钓鱼城营建宫殿,准备随时迎接赵来川蜀,重建宋朝。
元世祖忽必烈派安西王府相李德辉经画东川。宋梁山守将袁世安率先献城投降。元军继续围攻万州,宋守臣上官夔坚守逾月。不期元川东行院将领杨文安败宋夔州帅张起岩所领援军,得以破万州主城天生城。上官夔巷战而死。杨文安继而招降了万州三宝城和云安军铁擎城。张德润破涪州。杨文安的同乡马坚守忠州皇华城不降,元军遂集中兵力围攻,终于攻破了位于江心岛上的皇华城。随后,杨文安挥师西上,突袭位于乌江与长江相汇处的涪州城,宋涪州守程聪未及防备,城破被擒。杨文安部将王师能克绍庆。
虽然大部州县皆已失守,但四川制置副使、知重庆府张珏仍然依托钓鱼城要塞和渝州城之固,继续坚持抗元。
张珏原为知合州、湖北安抚使王坚的副手,和王坚一起竭力守卫钓鱼堡,王坚调出四川以后,张珏负责保卫合州。因见经过连年的合州保卫战以后,民生凋敝,张珏以兵护卫老百姓耕种,同时教育百姓垦荒屯粟,使得公私皆足。
刘整叛变以后,向蒙古献计从所占领的青居堡向南筑马鬃山堡和旁边的虎头山相连,目的在扼合州嘉陵江上游的三江口,以攻取合州,这是刘整献计攻取襄阳的办法。张珏“乃张疑兵嘉渠口”,又“潜师渡平阳滩”,绕在马鬃山的后面偷袭元军,焚烧元军的船只和建筑器材,使元军无法建马鬃堡。
张珏善用兵出奇制胜,在合州的治理期间,“士卒必练,器械必精。御部曲有法,虽奴隶有功,必优赏之,有过虽至亲必罚,故人人用命。”
元东川行院以一部兵力佯攻钓鱼城,以其余兵力会同西川行院使不花的全部兵力进围渝州,并在三江口架设浮桥,以阻宋援。数月后,渝州粮尽,元军不断劝降,情况危急。
张珏一面派勇士潜入渝州协助守将赵定应防守,一面遣军袭扰元军,谋划赴援。张珏采取攻其必救之策,遣军奔袭东川行院治所青居城,乘东川行院总帅汪惟正率军回援之机,遣勇将张万以巨舰载精兵突破封锁,入渝州增援。
时宋廷已在临安降元。东、西川行院由是矛盾突出,互相观望,忽必烈将东川行院并入西川行院。张珏乘西川行院治所空虚之机,遣兵与泸州义士刘霖、先坤朋里应外合收复泸州,杀神臂山守将熊耳、安抚梅应春,俘元将眷属多人,迫使元军回师救援,渝州围解。
张珏令部将王立守钓鱼城,自入渝州就职,并遣军夺回涪州。
东川副都元帅张德润复克涪州。
西川行院军撤围渝州,转攻泸州。元将旦只儿率军溯江而上,在合江红米湾击败宋军的拦截;进至安乐山复败宋军,斩首五百余级,获战舰四艘;又击败截击元军漕舟的宋军;乘胜攻破宋军的水上寨堡石盘寨。
元军至泸州后,首先攻夺外围据点,管军千户步鲁合答攻城西北的宝子寨;同签行枢密院事刘思敬攻城东北的盘山寨;刘整子刘垓与万户拜延攻神臂山的珍珠堡。泸州军民在安抚王世昌,守将刘雄、李都统的率领下,分守要隘,英勇抗击。两军相峙年余。时城中食尽,急需外援,而张珏自渝州遣史忠训、赵安所率援军遭拜延军的阻击,百余人被俘,未能抵泸州。
其后,元军乘机发起总攻。步鲁合答造云梯,登城急攻,先破宝子寨;刘思敬破盘山寨,擒守将任庆,俘九千余户;刘垓、拜延克珍珠堡。泸州安抚王世昌亲率军援珍珠堡及盘山寨,均被击败,王世昌及部将刘雄被俘。元桥船水手军总管石抹不老督军攻神臂门,蚁附而登,一度冲上城楼,又被宋军击溃。刘思敬率部趁宋军激战一天疲惫之际,进行夜袭,破东门而入,进行巷战;管军万户秃满答儿及札剌不花率军夜夺水城而进,黎明,先登城入泸州。天亮后,诸军加紧攻神臂门。万户也罕的斤及石抹不老率军先登拔之。宋军将士英勇拼杀,终因寡不敌众,兵败城破,王世昌、李都统被杀,元军复泸州。
忽必烈向川蜀增兵,重点围攻渝州:以西川行院使不花率西川元军万人东下,直抵渝州城下。元东川行院所属元军,也以部分兵力围困钓鱼城宋军,主力绕过坚固难攻的钓鱼城南下,与西川元军会合,完成了对渝州的包围。
此时元军汇集兵力数万复攻渝州。以主力驻佛图关,分遣一军驻南城,一军驻朱村坪,一军屯江上。不花遣宋降将李从入重庆招降,张珏不从。副使李德辉至书张珏劝降,再次被拒。张珏遣总管李义将兵从广阳出击,一军皆没。不花督总帅汪良臣攻城,张珏率军出战,挫败元军,汪良臣身中四矢。
张珏复率军出薰风门,与六翼达鲁花赤也速答儿战于扶桑坝,遭元军前后夹击,败退入城。不花移师于堡子头,令元军大造云梯,加紧攻城。也速答儿率二十余骑至其门挑战,宋都统赵安出战,也速答儿三入其阵冲杀,宋军士气低落;元军四集,斩杀宋军五百余人。桥船水手军总管石抹不老攻渝州太平门,登城杀守卒数十人。塔海帖木儿以拔都鲁军二百人,攻宋水军,夺战船一艘,俘其众十三人。
张珏守城逾年,城中粮尽,势穷援绝,部将赵安等夜开镇西门降元,张珏率兵巷战不利,饮鸩自杀不死,乘舟顺流走涪州,被元军俘虏,后自杀。元军攻占渝州。
渝州陷落后,张珏部将张万走夔州,与张起岩共同坚守。忽必烈令四川、荆湖数路元军兵临城下,又遣人诏谕,张万、张起岩遂以城降。
此时,张珏副将王立依然与军民共同坚守钓鱼城:
张珏升任四川制置副使知重庆府后,入重庆赴任;王立随即升任合州安抚使,成为钓鱼城主将,出兵收复了青居堡、遂宁全境。
渝州陷落后,南平、夔、施、思播皆为元军所得,只剩下钓鱼城孤城独守。在元朝大军重重包围下,为了保全避难在钓鱼城里数万军民的生命,王立欲降于元。但因合州钓鱼城守军在前后二十五年的时间里,击退蒙古军队上百次进攻,使蒙古军队死伤超过万人,使蒙古大汗和重要将领身亡在四百米的峭壁下,此时又与东川行院有深怨,王立遂遣义妹至成都向元安西王相,西川行院副使、太子侍读李德辉请降,条件是让合州人民不被屠戮。王立的义妹同时又是李德辉的姨妹(一说胞妹)。李德辉虽然驳不过妹子的面皮,但仍然不得不在请示过元世祖忽必烈、获准满足了王立的条件后,才敢亲往钓鱼城下招谕。王立见合州以及钓鱼城的军民得以保全,于是挈城投降,元军彻底平定了东川。为宋坚守长达三十六年之久的钓鱼城的陷落,标志着蒙古平定巴蜀战争的结束。
忽必烈即分川蜀为四道,立四川行省,开始在四川建立新的秩序。
此时,在陆地的主要抗元势力俱告覆灭;元军乃步步为营,已不幸陷入三面包围之下。
所占据的洲地处雷州半岛,而雷州具有重要的战略地位,对战局的发展有着至关重要的作用。时有宋广西宣慰使曾渊子坚守雷州。元军招降无效,大举进攻。在元军的猛攻之下,雷州失守,曾渊子奔硐州,雷州为元军所得。
张世杰以雷州得失关系行朝安危,派张应科、王用领兵数万收复雷州。张应科三战失利,王用兵败降元。张世杰乃亲领大军围雷州,亦久攻不下,只得撤围而去。宋失雷州,驻州的行朝安全直接受到元军威胁,张世杰遂将行朝北移至大海中的崖山,作为最后的据点。
阿里海牙令史格留镇雷州,防止张世杰向西突围至交趾,自率军舰航海攻占了海南岛。
至此,张弘范与李恒合计,欲将南宋残余势力最后消灭于崖山。